Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlan Aguiar <alanjas@hotmail.com>2014-02-09 14:30:41 (GMT)
committer Alan Aguiar <alanjas@hotmail.com>2014-02-09 14:30:41 (GMT)
commita266c1f03e8a1a71c464552af29f5366b7868d5d (patch)
tree532b783b14dfee94c098ee5b7d67ec6176c70d74 /src
parent753b36359b0df0e01f42db5aaae716b6bb745b5f (diff)
add help in a1g6
Diffstat (limited to 'src')
-rw-r--r--src/assets/data/area1game6_data.py3
-rw-r--r--src/game/Area1Game1.py16
-rw-r--r--src/game/Area1Game6.py186
3 files changed, 155 insertions, 50 deletions
diff --git a/src/assets/data/area1game6_data.py b/src/assets/data/area1game6_data.py
index f9be853..17d4481 100644
--- a/src/assets/data/area1game6_data.py
+++ b/src/assets/data/area1game6_data.py
@@ -3,8 +3,9 @@
from gettext import gettext as _
+HELP = _('Completa las palabras cruzadas\nmirando las definiciones que aparecen.')
-HELP = {
+PUZZLE_HELP = {
0: _('primer menstruación en\nlas mujeres, sucede\nentre los 10 y 17 años'),
1: _('primera eyaculación,\nexpulsión de semen\nque se produce\ndurante el sueño'),
2: _('célula con cola,\ngameto masculino\nque produce el testículo'),
diff --git a/src/game/Area1Game1.py b/src/game/Area1Game1.py
index 496983c..9578e97 100644
--- a/src/game/Area1Game1.py
+++ b/src/game/Area1Game1.py
@@ -153,7 +153,7 @@ class CArea1Game1(CGameState):
self.mActivePiece = None
self.mBad = 0
self.mGood = 0
- self.mDialog = None
+ self.mEndDialog = None
self.mBBsetted = False
self.mNBsetted = True
self.mBHsetted = False
@@ -330,10 +330,11 @@ class CArea1Game1(CGameState):
self.mAlphaSet = True
CGame().addChild(self.mAlpha)
msg = _('Has terminado con %s respuestas bien') % self.mGood
- self.mDialog = Globe((450, 100), text=unicode(msg, 'UTF-8'), pico=None)
- self.mDialog.set_center((600, 300))
- CGame().addChild(self.mDialog)
+ self.mEndDialog = Globe((450, 100), text=unicode(msg, 'UTF-8'), pico=None)
+ self.mEndDialog.set_center((600, 300))
+ CGame().addChild(self.mEndDialog)
CGame().addChild(self.mButtonAccept)
+
else:
if self.mButtonAccept.mouseOver():
self.mButtonAccept.set_bgColor(OVER_COLOR)
@@ -363,6 +364,9 @@ class CArea1Game1(CGameState):
CGame().removeChild(self.mBox)
CGame().removeChild(self.mElisa)
CGame().removeChild(self.mJuan)
+ CGame().removeChild(self.mAlpha)
+ CGame().removeChild(self.mEndDialog)
+ CGame().removeChild(self.mButtonAccept)
self.mPoints = None
for p in self.mListPieces:
@@ -374,6 +378,4 @@ class CArea1Game1(CGameState):
self.mButtonHelp = None
self.mBackground = None
- CGame().removeChild(self.mAlpha)
- CGame().removeChild(self.mDialog)
- CGame().removeChild(self.mButtonAccept)
+
diff --git a/src/game/Area1Game6.py b/src/game/Area1Game6.py
index ff440db..efd6065 100644
--- a/src/game/Area1Game6.py
+++ b/src/game/Area1Game6.py
@@ -10,7 +10,10 @@ import api.Image as Image
from api.Vector import CVector
from api.Game import CGame
from api.GameState import CGameState
+from api.Button import CButton
+from api.Globe import Globe
import HallState
+from gettext import gettext as _
from assets.data import area1game6_data
@@ -35,6 +38,11 @@ WORD5b = [(DX + 400, DY + 350), (DX + 600, DY + 400)]
WORD6 = [(DX + 150, DY + 500), (DX + 350, DY + 550)]
WORD7 = [(DX + 350, DY + 0), (DX + 400, DY + 600)]
+OVER_COLOR = (255, 0, 0)
+NORMAL_COLOR = (255, 125, 50)
+
+GOODS = 8
+BADS = 4
#Piece class hereda de CSprite
class Piece(CSprite):
@@ -142,11 +150,18 @@ class CArea1Game6(CGameState):
#mX = 10
self.mButtonPlay = None
+ self.mEndDialog = None
self.mListHelps = []
self.mListPieces = []
self.mListWords = []
self.mActivePiece = None
- self.dic_help = {}
+ self.mAlphaSet = True
+ self.mHelpShowed = True
+
+ self.mBBsetted = False
+ self.mNBsetted = True
+ self.mBHsetted = False
+ self.mNHsetted = True
self.mHelpActive = None
self.mHelpPrevious = None
@@ -156,10 +171,7 @@ class CArea1Game6(CGameState):
for i in range(10):
self.mListHelps.insert(i, None)
-
- self.mBsetted = False
- self.mNsetted = True
-
+
self.mBackImageN = Image.loadImage('assets/images/back.png')
self.mBackImageB = Image.loadImage('assets/images/back_big.png')
@@ -256,61 +268,143 @@ class CArea1Game6(CGameState):
CGame().addChild(piece)
- self.dic_help = area1game6_data.HELP
- self.list_temp = self.dic_help.keys()
+ dic_help = area1game6_data.PUZZLE_HELP
+ #self.list_temp = self.dic_help.keys()
font28 = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 28)
self.mListHelps = []
# Label with the Help (for mouseover)
- for i in range(7):
+ for i in dic_help:
l = CMultiLabel()
l.bgColor = (255, 125, 50)
l.font = font28
l.center = (DX + 910, DY + 75)
l.size = (350, 150)
- l.text = unicode(self.dic_help[i], 'UTF-8')
+ l.text = unicode(dic_help[i], 'UTF-8')
l._update_image()
self.mListHelps.append(l)
self.mPoints = CPoints(100, 10)
CGame().addChild(self.mPoints)
+ # help button
+ self.mHelpImageN = Image.loadImage('assets/images/help.png')
+ self.mHelpImageB = Image.loadImage('assets/images/help_big.png')
+
+ self.mButtonHelp = CSprite(1110, 30)
+ self.mButtonHelp.setRegistrationPointOffset(22, 22)
+ self.mButtonHelp.setImage(self.mHelpImageN)
+ CGame().addChild(self.mButtonHelp)
+
+ alphasurface = pygame.Surface((1200,900))
+ alphasurface.convert()
+ alphasurface.fill((100,100,100))
+ alphasurface.set_alpha(200)
+
+ self.mAlpha = CSprite(0, 0)
+ self.mAlpha.setImage(alphasurface)
+ CGame().addChild(self.mAlpha)
+
+ self.mButtonAccept = CButton()
+ self.mButtonAccept.bgColor = NORMAL_COLOR
+ self.mButtonAccept.font = font28
+ self.mButtonAccept.center = (600, 400)
+ self.mButtonAccept.size = (200, 40)
+ self.mButtonAccept.set_text(_('Aceptar'))
+ CGame().addChild(self.mButtonAccept)
+
+ msg = area1game6_data.HELP
+ self.mInstructions = Globe((450, 150), text=unicode(msg, 'UTF-8'), pico=None)
+ self.mInstructions.set_center((600, 300))
+ CGame().addChild(self.mInstructions)
def update(self):
CGameState.update(self)
- if self.mButtonBack.mouseOver():
- if not(self.mBsetted):
- self.mBsetted = True
- self.mNsetted = False
- self.mButtonBack.setRegistrationPointOffset(27, 27)
- self.mButtonBack.setImage(self.mBackImageB)
- else:
- if not(self.mNsetted):
- self.mBsetted = False
- self.mNSetted = True
- self.mButtonBack.setRegistrationPointOffset(22, 22)
- self.mButtonBack.setImage(self.mBackImageN)
+ if not(self.mAlphaSet):
+
+ if self.mButtonBack.mouseOver():
+ if not(self.mBBsetted):
+ self.mBBsetted = True
+ self.mNBsetted = False
+ self.mButtonBack.setRegistrationPointOffset(27, 27)
+ self.mButtonBack.setImage(self.mBackImageB)
+ else:
+ if not(self.mNBsetted):
+ self.mBBsetted = False
+ self.mNBSetted = True
+ self.mButtonBack.setRegistrationPointOffset(22, 22)
+ self.mButtonBack.setImage(self.mBackImageN)
+
+ if self.mButtonHelp.mouseOver():
+ if not(self.mBHsetted):
+ self.mBHsetted = True
+ self.mNHsetted = False
+ self.mButtonHelp.setRegistrationPointOffset(27, 27)
+ self.mButtonHelp.setImage(self.mHelpImageB)
+ else:
+ if not(self.mNHsetted):
+ self.mBHsetted = False
+ self.mNHSetted = True
+ self.mButtonHelp.setRegistrationPointOffset(22, 22)
+ self.mButtonHelp.setImage(self.mHelpImageN)
- if self.mButtonBack.clicked():
- hs = HallState.CHallState()
- CGame().setState(hs)
- hs.setCurrentGame(5)
- return
-
- x = CMouse().getX()
- y = CMouse().getY()
-
- self.mHelpActive = self._get_help(x, y)
-
- # this optimize the repetitive remove/add the same sprite
- if not (self.mHelpPrevious == self.mHelpActive):
- if self.mHelpPrevious is not None:
- CGame().removeChild(self.mListHelps[self.mHelpPrevious])
- if self.mHelpActive is not None:
- CGame().addChild(self.mListHelps[self.mHelpActive])
- self.mHelpPrevious = self.mHelpActive
+ if self.mButtonBack.clicked():
+ hs = HallState.CHallState()
+ CGame().setState(hs)
+ hs.setCurrentGame(5)
+ return
+
+ if self.mButtonHelp.clicked():
+ self.mAlphaSet = True
+ self.mHelpShowed = True
+ CGame().addChild(self.mAlpha)
+ CGame().addChild(self.mInstructions)
+ CGame().addChild(self.mButtonAccept)
+ return
+
+ x = CMouse().getX()
+ y = CMouse().getY()
+
+ self.mHelpActive = self._get_help(x, y)
+
+ # this optimize the repetitive remove/add the same sprite
+ if not (self.mHelpPrevious == self.mHelpActive):
+ if self.mHelpPrevious is not None:
+ CGame().removeChild(self.mListHelps[self.mHelpPrevious])
+ if self.mHelpActive is not None:
+ CGame().addChild(self.mListHelps[self.mHelpActive])
+ self.mHelpPrevious = self.mHelpActive
+
+ if (self.mGood == GOODS) or (self.mBad > BADS):
+ self.mAlphaSet = True
+ CGame().addChild(self.mAlpha)
+ msg = _('Has terminado con %s respuestas bien') % self.mGood
+ self.mEndDialog = Globe((450, 100), text=unicode(msg, 'UTF-8'), pico=None)
+ self.mEndDialog.set_center((600, 300))
+ CGame().addChild(self.mEndDialog)
+ CGame().addChild(self.mButtonAccept)
+
+ else:
+ if self.mButtonAccept.mouseOver():
+ self.mButtonAccept.set_bgColor(OVER_COLOR)
+ else:
+ self.mButtonAccept.set_bgColor(NORMAL_COLOR)
+
+ if self.mButtonAccept.clicked():
+ if self.mHelpShowed:
+ self.mAlphaSet = False
+ self.mHelpShowed = False
+ self.mButtonAccept.set_bgColor(NORMAL_COLOR)
+ CGame().removeChild(self.mAlpha)
+ CGame().removeChild(self.mInstructions)
+ CGame().removeChild(self.mButtonAccept)
+ else:
+ hs = HallState.CHallState()
+ CGame().setState(hs)
+ hs.setCurrentGame(5)
+ return
def _get_help(self, x, y):
if CMath.pointInsideRectangle(x,y, WORD1):
@@ -332,16 +426,24 @@ class CArea1Game6(CGameState):
def destroy(self):
CGameState.destroy(self)
+ CGame().removeChild(self.mEndDialog)
CGame().removeChild(self.mButtonBack)
+ CGame().removeChild(self.mButtonHelp)
CGame().removeChild(self.mPoints)
CGame().removeChild(self.mBase)
- # remove pieces from the game
+ CGame().removeChild(self.mAlpha)
+ CGame().removeChild(self.mInstructions)
+ CGame().removeChild(self.mButtonAccept)
+
for piece in self.mListPieces:
CGame().removeChild(piece)
piece = None
self.mListPieces = None
- if self.mHelpActive:
- CGame().removeChild(self.mHelpActive)
+
+ for help in self.mListHelps:
+ CGame().removeChild(help)
+ self.mListHelps = None
+
self.mButtonBack = None
self.mBackground = None
self.mWord01 = None