diff options
author | Alan Aguiar <alanjas@hotmail.com> | 2013-09-10 05:30:23 (GMT) |
---|---|---|
committer | Alan Aguiar <alanjas@hotmail.com> | 2013-09-10 05:30:23 (GMT) |
commit | 9c72be307734edbce3236e223f6b07198e322430 (patch) | |
tree | 9038320a2253f341d200fd45ed9cf5067f35ee13 /src | |
parent | 5e4601cef903dbc81f995c1908ad38b10ae8a7f7 (diff) |
load partidas from file
Diffstat (limited to 'src')
-rwxr-xr-x | src/api/Game.py | 30 | ||||
-rw-r--r-- | src/game/HallState.py | 3 | ||||
-rw-r--r-- | src/game/SelectCharacterState.py | 8 | ||||
-rw-r--r-- | src/game/SelectPartidaState.py | 161 |
4 files changed, 184 insertions, 18 deletions
diff --git a/src/api/Game.py b/src/api/Game.py index b1901bd..afe7596 100755 --- a/src/api/Game.py +++ b/src/api/Game.py @@ -7,7 +7,10 @@ import pygame.font import pygame.display
import pygame.sprite
from api.Sprite2 import CSprite
-from api.Mouse import CMouse
+from api.Mouse import CMouse
+from PartidasMan import getPartidasFromFile
+from PartidasMan import setPartidasToFile
+from PartidasMan import Partida
from gettext import gettext as _
@@ -26,7 +29,7 @@ class CGame(object): mMainSprites = None
mClock = None
mQuit = False
- mCharacter = 'Juan'
+ mPartidaDict = {}
def __new__(self, *args, **kargs):
if (self.mInstance is None):
@@ -58,6 +61,9 @@ class CGame(object): self.mMousePointerSprite.destroy()
self.mMousePointerSprite = None
self.mInstance = None
+
+ #save data
+ setPartidasToFile(self.mPartidaDict)
pygame.mouse.set_visible(True)
# destroy pygame
@@ -94,6 +100,8 @@ class CGame(object): self.mScreen.blit(self.mBackground, (0, 0))
self.mClock = pygame.time.Clock()
self.mQuit = False
+
+ self.mPartidaDict = getPartidasFromFile()
def gameLoop(self):
print "start game loop here"
@@ -140,12 +148,20 @@ class CGame(object): def removeChild(self, aSprite):
self.mAllSprites.remove(aSprite)
- def setCharacter(self, name):
- self.mCharacter = name
- print self.mCharacter
+ def setCharacter(self, par, name):
+ print self.mPartidaDict.keys()
+ self.mPartidaDict[par].setCharacter(name)
+ print 'Personaje ', name, ' asignado a partida ', par
- def getCharacter(self):
- return self.mCharacter
+ def getCharacter(self, par):
+ return self.mPartidaDict[par].getCharacter()
+
+ def getPartida(self, n):
+ print self.mPartidaDict.keys()
+ if self.mPartidaDict.has_key(n):
+ return self.mPartidaDict[n]
+ else:
+ return None
def setBackground(self, aBackgroundImage):
#self.mBackground = None
diff --git a/src/game/HallState.py b/src/game/HallState.py index 60ebc17..779fc6d 100644 --- a/src/game/HallState.py +++ b/src/game/HallState.py @@ -84,7 +84,8 @@ class CHallState(CGameState): self.mRightArrow.setImage(self.mImageRightArrow) CGame().addChild(self.mRightArrow) - character = CGame().getCharacter() + #TODO: fix el 1 d'accord partida + character = CGame().getCharacter(1) print 'get character of CGAME', character self.mPlayer = CBoyHall(character) CGame().addChild(self.mPlayer) diff --git a/src/game/SelectCharacterState.py b/src/game/SelectCharacterState.py index 859aec7..1aa2f74 100644 --- a/src/game/SelectCharacterState.py +++ b/src/game/SelectCharacterState.py @@ -19,6 +19,8 @@ class CSelectCharacterState(CGameState): def init(self): CGameState.__init__(self) + self.mPartida = None + self.mBackground = Image.loadImage('assets/images/selectArea/background.png', False) CGame().setBackground(self.mBackground) @@ -57,6 +59,8 @@ class CSelectCharacterState(CGameState): self.mMessage.set_text(unicode(mes, 'UTF-8')) CGame().addChild(self.mMessage) + def setPartida(self, aPartida): + self.mPartida = aPartida def update(self): #print "menu update" @@ -64,14 +68,14 @@ class CSelectCharacterState(CGameState): if self.mJuan.clicked(): print "clicked Juan" - CGame().setCharacter('Juan') + CGame().setCharacter(self.mPartida, 'Juan') ms = MenuState.CMenuState() CGame().setState(ms) return elif self.mElisa.clicked(): print "clicked Elisa" - CGame().setCharacter('Elisa') + CGame().setCharacter(self.mPartida, 'Elisa') ms = MenuState.CMenuState() CGame().setState(ms) return diff --git a/src/game/SelectPartidaState.py b/src/game/SelectPartidaState.py index 48d4478..2663f6a 100644 --- a/src/game/SelectPartidaState.py +++ b/src/game/SelectPartidaState.py @@ -7,6 +7,7 @@ from api.Game import CGame from api.Sprite2 import CSprite from SelectCharacterState import CSelectCharacterState +from SelectAreaState import CSelectAreaState import api.Image as Image @@ -22,6 +23,10 @@ class CSelectPartidaState(CGameState): self.mBackground = Image.loadImage('assets/images/selectArea/background.png', False) CGame().setBackground(self.mBackground) + + self.misEmptyP1 = True + self.misEmptyP2 = True + self.misEmptyP3 = True recuadro = Image.loadImage('assets/images/selectPartida/recuadro.png') self.mPartida1 = CSprite() @@ -29,7 +34,7 @@ class CSelectPartidaState(CGameState): self.mPartida1.setImage(recuadro) CGame().addChild(self.mPartida1) - border = Image.loadImage('assets/images/selectPartida/recuadro-interno.png') + border = Image.loadImage('assets/images/selectPartida/recuadro-interno2.png') self.mBorderPartida1 = CSprite() self.mBorderPartida1.setXY(100, 240) self.mBorderPartida1.setImage(border) @@ -59,12 +64,116 @@ class CSelectPartidaState(CGameState): self.mMessage = CLabel() self.mMessage.bgColor = (255, 125, 50) self.mMessage.fgColor = (0xFF, 0xFF, 0xFF) - self.mMessage.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 28) + self.mMessage.set_font('DejaVuSans.ttf', 28) self.mMessage.set_center((600, 150)) self.mMessage.set_size((400, 40)) self.mMessage.set_text(unicode(mes, 'UTF-8')) CGame().addChild(self.mMessage) + mes = _('Partida %s') + self.mLabel1 = CLabel() + #self.mLabel1.bgColor = (255, 125, 50) + self.mLabel1.bgColor = (218, 224, 152) + self.mLabel1.fgColor = (0xFF, 0xFF, 0xFF) + self.mLabel1.set_font('DejaVuSans.ttf', 28) + self.mLabel1.set_center((250, 300)) + self.mLabel1.set_size((150, 40)) + self.mLabel1.set_text(unicode(mes % 1, 'UTF-8')) + #CGame().addChild(self.mLabel1) + + self.mLabel2 = CLabel() + self.mLabel2.bgColor = (218, 224, 152) + self.mLabel2.fgColor = (0xFF, 0xFF, 0xFF) + self.mLabel2.set_font('DejaVuSans.ttf', 28) + self.mLabel2.set_center((600, 300)) + self.mLabel2.set_size((150, 40)) + self.mLabel2.set_text(unicode(mes % 2, 'UTF-8')) + #CGame().addChild(self.mLabel2) + + self.mLabel3 = CLabel() + self.mLabel3.bgColor = (218, 224, 152) + self.mLabel3.fgColor = (0xFF, 0xFF, 0xFF) + self.mLabel3.set_font('DejaVuSans.ttf', 28) + self.mLabel3.set_center((950, 300)) + self.mLabel3.set_size((150, 40)) + self.mLabel3.set_text(unicode(mes % 3, 'UTF-8')) + #CGame().addChild(self.mLabel3) + + juan = Image.loadImage('assets/images/selectPartida/T-juan.png') + elisa = Image.loadImage('assets/images/selectPartida/T-elisa.png') + + self.mEmpty1 = CLabel() + self.mEmpty1.bgColor = (218, 224, 152) + self.mEmpty1.fgColor = (0xFF, 0xFF, 0xFF) + self.mEmpty1.set_font('DejaVuSans.ttf', 28) + self.mEmpty1.set_center((250, 450)) + self.mEmpty1.set_size((200, 40)) + self.mEmpty1.set_text(unicode('Partida vacía', 'UTF-8')) + #CGame().addChild(self.mEmpty1) + + self.mEmpty2 = CLabel() + self.mEmpty2.bgColor = (218, 224, 152) + self.mEmpty2.fgColor = (0xFF, 0xFF, 0xFF) + self.mEmpty2.set_font('DejaVuSans.ttf', 28) + self.mEmpty2.set_center((600, 450)) + self.mEmpty2.set_size((200, 40)) + self.mEmpty2.set_text(unicode('Partida vacía', 'UTF-8')) + #CGame().addChild(self.mEmpty2) + + self.mEmpty3 = CLabel() + self.mEmpty3.bgColor = (218, 224, 152) + self.mEmpty3.fgColor = (0xFF, 0xFF, 0xFF) + self.mEmpty3.set_font('DejaVuSans.ttf', 28) + self.mEmpty3.set_center((950, 450)) + self.mEmpty3.set_size((200, 40)) + self.mEmpty3.set_text(unicode('Partida vacía', 'UTF-8')) + #CGame().addChild(self.mEmpty3) + + self.mChar1 = CSprite() + self.mChar1.setXY(200, 310) + + self.mChar2 = CSprite() + self.mChar2.setXY(550, 310) + + self.mChar3 = CSprite() + self.mChar3.setXY(900, 310) + + par = CGame().getPartida(1) + if (par == None) or par.isEmpty(): + CGame().addChild(self.mEmpty1) + else: + self.misEmptyP1 = False + CGame().addChild(self.mLabel1) + if par.getCharacter() == 'Juan': + self.mChar1.setImage(juan) + else: + self.mChar1.setImage(elisa) + CGame().addChild(self.mChar1) + + + par = CGame().getPartida(2) + if (par == None) or par.isEmpty(): + CGame().addChild(self.mEmpty2) + else: + self.misEmptyP2 = False + CGame().addChild(self.mLabel2) + if par.getCharacter() == 'Juan': + self.mChar2.setImage(juan) + else: + self.mChar2.setImage(elisa) + CGame().addChild(self.mChar2) + + par = CGame().getPartida(3) + if (par == None) or par.isEmpty(): + CGame().addChild(self.mEmpty3) + else: + self.misEmptyP3 = False + CGame().addChild(self.mLabel3) + if par.getCharacter() == 'Juan': + self.mChar3.setImage(juan) + else: + self.mChar3.setImage(elisa) + CGame().addChild(self.mChar3) def update(self): #print "menu update" @@ -72,20 +181,35 @@ class CSelectPartidaState(CGameState): if self.mPartida1.clicked(): print "partida 1" - ch = CSelectCharacterState() - CGame().setState(ch) + if self.misEmptyP1: + ch = CSelectCharacterState() + CGame().setState(ch) + ch.setPartida(1) + else: + csa = CSelectAreaState() + CGame().setState(csa) return elif self.mPartida2.clicked(): print "partida 2" - ch = CSelectCharacterState() - CGame().setState(ch) + if self.misEmptyP2: + ch = CSelectCharacterState() + CGame().setState(ch) + ch.setPartida(2) + else: + csa = CSelectAreaState() + CGame().setState(csa) return elif self.mPartida3.clicked(): print "partida 3" - ch = CSelectCharacterState() - CGame().setState(ch) + if self.misEmptyP3: + ch = CSelectCharacterState() + CGame().setState(ch) + ch.setPartida(3) + else: + csa = CSelectAreaState() + CGame().setState(csa) return if self.mPartida1.mouseOver(): @@ -120,6 +244,9 @@ class CSelectPartidaState(CGameState): self.mPartida3Is = False CGame().removeChild(self.mBorderPartida3) return + + def getPartidaState(self, number): + return None def destroy(self): CGameState.destroy(self) @@ -131,14 +258,32 @@ class CSelectPartidaState(CGameState): self.mPartida1 = None CGame().removeChild(self.mBorderPartida1) self.mBorderPartida1 = None + CGame().removeChild(self.mLabel1) + self.mLabel1 = None + CGame().removeChild(self.mChar1) + self.mChar1 = None + CGame().removeChild(self.mEmpty1) + CGame().removeChild(self.mPartida2) self.mPartida2 = None CGame().removeChild(self.mBorderPartida2) self.mBorderPartida2 = None + CGame().removeChild(self.mLabel2) + self.mLabel2 = None + CGame().removeChild(self.mChar2) + self.mChar2 = None + CGame().removeChild(self.mEmpty2) + CGame().removeChild(self.mPartida3) self.mPartida3 = None CGame().removeChild(self.mBorderPartida3) self.mBorderPartida3 = None + CGame().removeChild(self.mLabel3) + self.mLabel3 = None + CGame().removeChild(self.mChar3) + self.mChar3 = None + CGame().removeChild(self.mEmpty3) + self.mBackground = None print "CMenuState destroy" |