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>2013-09-10 05:30:23 (GMT)
committer Alan Aguiar <alanjas@hotmail.com>2013-09-10 05:30:23 (GMT)
commit9c72be307734edbce3236e223f6b07198e322430 (patch)
tree9038320a2253f341d200fd45ed9cf5067f35ee13 /src
parent5e4601cef903dbc81f995c1908ad38b10ae8a7f7 (diff)
load partidas from file
Diffstat (limited to 'src')
-rwxr-xr-xsrc/api/Game.py30
-rw-r--r--src/game/HallState.py3
-rw-r--r--src/game/SelectCharacterState.py8
-rw-r--r--src/game/SelectPartidaState.py161
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"