Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/game/Area1Game5.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Area1Game5.py')
-rw-r--r--src/game/Area1Game5.py256
1 files changed, 256 insertions, 0 deletions
diff --git a/src/game/Area1Game5.py b/src/game/Area1Game5.py
new file mode 100644
index 0000000..241ef8b
--- /dev/null
+++ b/src/game/Area1Game5.py
@@ -0,0 +1,256 @@
+# -*- coding: utf-8 -*-
+
+import pygame
+import random
+import MenuState
+import api.Image as Image
+from api.Game import CGame
+from api.GameState import CGameState
+from api.Button import CButton
+from api.Sprite2 import CSprite
+from api.Points import CPoints
+from api.Globe import Globe
+from gettext import gettext as _
+
+from assets.data import area1game5_data
+
+
+class CArea1Game5(CGameState):
+
+ def __init__(self):
+ CGameState.__init__(self)
+
+ self.mBackground = None
+ self.mInstructions = None
+ self.mButtonBackA1G3 = None
+ self.mLabelQuestion = None
+ self.mButtonTrue = None
+ self.mButtonFalse = None
+ self.mBoy = None
+ self.mGirl = None
+ self.mDialogBoy1 = None
+ self.mDialogGirl1 = None
+ self.mDialogBoy2 = None
+ self.mDialogGood = None
+ self.mDialogBad = None
+ self.mActualQuestionN = None
+ self.mTupleQuestion = None
+ self.mQuestionAnswered = False
+ self.mQuestionShowed = False
+ self.mQuestionCorrect = False
+ self.mActiveDialog = None
+ self.mboy_list = []
+ self.mgirl_list = []
+ self.mCurrentState = 0
+ self.time = 0
+ self.mBad = 0
+ self.mGood = 0
+
+ self.mBackground = Image.loadImage('assets/images/a1g3/a1game3.png', False)
+ CGame().setBackground(self.mBackground)
+
+ # get a list of the keys of dict BOY and GIRL
+ self.mboy_list = area1game5_data.BOY.keys()
+ self.mBoyDict = {}
+ for i in self.mboy_list:
+ t = area1game5_data.BOY[i]
+ q = (unicode(t[0], 'UTF-8'), t[1])
+ self.mBoyDict[i] = q
+
+ self.mDialog = []
+ for e in area1game5_data.DIALOG:
+ self.mDialog.append(unicode(e, 'UTF-8'))
+
+ self.mGoodA = unicode(area1game5_data.GOOD, 'UTF-8')
+ self.mBadA = unicode(area1game5_data.BAD, 'UTF-8')
+
+ # randomize it
+ random.shuffle(self.mboy_list)
+
+ self.mButtonBackA1G5 = CButton()
+ self.mButtonBackA1G5.set_bgColor((0x99, 0x99, 0x66))
+ self.mButtonBackA1G5.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 28)
+ self.mButtonBackA1G5.set_center((110, 650))
+ self.mButtonBackA1G5.set_size((200, 40))
+ self.mButtonBackA1G5.set_text(_('Volver'))
+ CGame().addChild(self.mButtonBackA1G5)
+
+ self.mLabelQuestion = Globe((500, 150), pico='None', text=' ')
+ self.mLabelQuestion.set_center((600, 250))
+
+ self.mButtonTrue = CButton()
+ self.mButtonTrue.set_bgColor((125, 255, 125))
+ self.mButtonTrue.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 28)
+ self.mButtonTrue.set_center((460, 400))
+ self.mButtonTrue.set_size((200, 40))
+ self.mButtonTrue.set_text(_('Verdadero'))
+
+ self.mButtonFalse = CButton()
+ self.mButtonFalse.set_bgColor((125, 255, 125))
+ self.mButtonFalse.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 28)
+ self.mButtonFalse.set_center((740, 400))
+ self.mButtonFalse.set_size((200, 40))
+ self.mButtonFalse.set_text(_('Falso'))
+
+ self.mBoy = CSprite()
+ self.mBoy.loadImage('assets/images/a1g3/Juan-chico-costado-parado.png')
+ self.mBoy.setXY(100, 400)
+ CGame().addChild(self.mBoy)
+
+ elisa = Image.loadImage('assets/images/a1g3/Elisa-chica-costado-parada.png')
+ elisa_rotated = pygame.transform.flip(elisa, True, False)
+ self.mGirl = CSprite()
+ self.mGirl.setImage(elisa_rotated)
+ self.mGirl.setXY(900, 400)
+ CGame().addChild(self.mGirl)
+
+ # que es..
+ self.mDialogBoy1 = Globe((300, 70), text=self.mDialog[0])
+ self.mDialogBoy1.set_center((300, 300))
+ CGame().addChild(self.mDialogBoy1)
+
+ # mmm.. no...
+ self.mDialogGirl1 = Globe((300, 70), pico='right', text=self.mDialog[1])
+ self.mDialogGirl1.set_center((900, 300))
+
+ self.mDialogGood = Globe((200, 75), pico='left', text=self.mGoodA)
+ self.mDialogGood.set_center((300, 300))
+
+ self.mDialogBad = Globe((200, 75), pico='left', text=self.mBadA)
+ self.mDialogBad.set_center((300, 300))
+
+ self.mPoints = CPoints()
+ self.mPoints.setXY(250, 10)
+ CGame().addChild(self.mPoints)
+
+ #self.mTime = self.mDialogBoy1.getTimeState()
+ self.mCurrentState = 0
+ self.time = 0
+
+ def update(self):
+ CGameState.update(self)
+
+
+ self.time = self.time + 1
+
+ if self.mButtonBackA1G5.clicked():
+ print "clicked back of a1g5"
+ #cs = CHelpState()
+ ms = MenuState.CMenuState()
+ CGame().setState(ms)
+ return
+
+ if self.mCurrentState == 0:
+ #self.time = self.mListDialogs[0].getTimeState()
+ if self.time > 4*30:
+ CGame().removeChild(self.mDialogBoy1)
+ CGame().addChild(self.mDialogGirl1)
+ self.mCurrentState = 1
+ self.time = 0
+ #self.mListDialogs[1].setTimeState(0)
+
+ elif self.mCurrentState == 1:
+ #self.time = self.mListDialogs[1].getTimeState()
+ if self.time > 3*30:
+ CGame().removeChild(self.mDialogGirl1)
+
+ self.mCurrentState = 2
+ self.time = 0
+ #self.mListDialogs[2].setTimeState(0)
+
+
+ # Pregunta
+ elif self.mCurrentState == 2:
+ if self.mQuestionShowed == False:
+ if self.next_questionB():
+ CGame().addChild(self.mLabelQuestion)
+ CGame().addChild(self.mButtonTrue)
+ CGame().addChild(self.mButtonFalse)
+ self.mQuestionShowed = True
+ else:
+ self.mCurrentState = 3
+
+ elif (self.mQuestionAnswered == False):
+ if self.mButtonTrue.clicked():
+ CGame().removeChild(self.mLabelQuestion)
+ CGame().removeChild(self.mButtonTrue)
+ CGame().removeChild(self.mButtonFalse)
+ if self.mTupleQuestion[1] == True:
+ CGame().addChild(self.mDialogGood)
+ self.mGood = self.mGood + 1
+ self.mPoints.set_goods(self.mGood)
+ else:
+ CGame().addChild(self.mDialogBad)
+ self.mBad = self.mBad + 1
+ self.mPoints.set_bads(self.mBad)
+ self.mQuestionAnswered = True
+ self.time = 0
+
+ elif self.mButtonFalse.clicked():
+ CGame().removeChild(self.mLabelQuestion)
+ CGame().removeChild(self.mButtonTrue)
+ CGame().removeChild(self.mButtonFalse)
+ if self.mTupleQuestion[1] == False:
+ CGame().addChild(self.mDialogGood)
+ self.mGood = self.mGood + 1
+ self.mPoints.set_goods(self.mGood)
+ else:
+ CGame().addChild(self.mDialogBad)
+ self.mBad = self.mBad + 1
+ self.mPoints.set_bads(self.mBad)
+ self.mQuestionAnswered = True
+ self.time = 0
+
+ elif self.mQuestionAnswered == True:
+ #self.time = self.mActiveDialog.getTimeState()
+ if self.time > 3*30:
+ CGame().removeChild(self.mDialogGood)
+ CGame().removeChild(self.mDialogBad)
+ self.mQuestionShowed = False
+ self.mQuestionAnswered = False
+ self.mActiveDialog = None
+
+
+ def next_questionB(self):
+ if not(self.mboy_list == []):
+ self.mActualQuestionN = self.mboy_list.pop()
+ self.mTupleQuestion = self.mBoyDict[self.mActualQuestionN]
+ text = self.mTupleQuestion[0]
+ self.mLabelQuestion.set_text(text)
+ return True
+ else:
+ return False
+
+
+ def destroy(self):
+ print 'destroy a1g5'
+ CGameState.destroy(self)
+ #self.mInstructions.destroy()
+ self.mInstructions = None
+
+ CGame().removeChild(self.mButtonBackA1G5)
+ CGame().removeChild(self.mLabelQuestion)
+ CGame().removeChild(self.mButtonTrue)
+ CGame().removeChild(self.mButtonFalse)
+ CGame().removeChild(self.mBoy)
+ CGame().removeChild(self.mGirl)
+ CGame().removeChild(self.mDialogBoy1)
+ CGame().removeChild(self.mDialogGirl1)
+ CGame().removeChild(self.mDialogBoy2)
+ CGame().removeChild(self.mDialogGood)
+ CGame().removeChild(self.mDialogBad)
+ CGame().removeChild(self.mPoints)
+
+ self.mButtonBackA1G5 = None
+ self.mLabelQuestion = None
+ self.mButtonTrue = None
+ self.mButtonFalse = None
+ self.mBoy = None
+ self.mGirl = None
+ self.mDialogBoy1 = None
+ self.mDialogGirl1 = None
+ self.mDialogBoy2 = None
+ self.mDialogGood = None
+ self.mDialogBad = None
+ self.mPoints = None
+