Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Aguiar <alanjas@hotmail.com>2014-02-10 00:05:47 (GMT)
committer Alan Aguiar <alanjas@hotmail.com>2014-02-10 00:05:47 (GMT)
commit87b7ff54464d1c42500d57694651db3be85995a5 (patch)
tree5da88d806829192a4f13011863197cb03d6ccab9
parentb3c040e43e51a7b0cc9018fd0a9b0ad6b50a4f90 (diff)
compact select partida code using dicts
-rw-r--r--src/game/SelectPartidaState.py460
1 files changed, 123 insertions, 337 deletions
diff --git a/src/game/SelectPartidaState.py b/src/game/SelectPartidaState.py
index a643dca..99cddac 100644
--- a/src/game/SelectPartidaState.py
+++ b/src/game/SelectPartidaState.py
@@ -31,21 +31,20 @@ class CSelectPartidaState(CGameState):
self.mBackground = Image.loadImage('assets/images/selectArea/background.jpg', False)
CGame().setBackground(self.mBackground)
- self.PARTIDA1_RECT = [(114, 254), (385, 625)]
- self.PARTIDA2_RECT = [(464, 254), (735, 625)]
- self.PARTIDA3_RECT = [(815, 254), (1086, 625)]
+ self.mRectP = {}
+ self.mRectP[0] = [(114, 254), (385, 625)]
+ self.mRectP[1] = [(464, 254), (735, 625)]
+ self.mRectP[2] = [(815, 254), (1086, 625)]
self.mOverEnabled = True
self.mToDel = None
self.mFlag = FLAG
- self.misEmptyP1 = True
- self.misEmptyP2 = True
- self.misEmptyP3 = True
-
- self.mP1_Stars = []
- self.mP2_Stars = []
- self.mP3_Stars = []
+ self.mStarsP = {}
+ self.mIsEmptyP = {}
+ for i in range(3):
+ self.mStarsP[i] = []
+ self.mIsEmptyP[i] = True
self.mBsetted = False
self.mNsetted = True
@@ -60,37 +59,26 @@ class CSelectPartidaState(CGameState):
delete = Image.loadImage('assets/images/selectPartida/delete.png')
- self.mDeletePartida1 = CSprite(350, 240)
- self.mDeletePartida1.setImage(delete)
-
- self.mDeletePartida2 = CSprite(700, 240)
- self.mDeletePartida2.setImage(delete)
-
- self.mDeletePartida3 = CSprite(1050, 240)
- self.mDeletePartida3.setImage(delete)
-
+ self.mDeleteP = {}
+ for i in range(3):
+ dp = CSprite(350 + 350 * i, 240)
+ dp.setImage(delete)
+ self.mDeleteP[i] = dp
+
recuadro = Image.loadImage('assets/images/selectPartida/recuadro.png')
- self.mPartida1 = CSprite(114, 254)
- self.mPartida1.setImage(recuadro)
- CGame().addChild(self.mPartida1)
-
+ self.mPartida = {}
+ for i in range(3):
+ par = CSprite(114 + 350 * i, 254)
+ par.setImage(recuadro)
+ self.mPartida[i] = par
+ CGame().addChild(par)
+
border = Image.loadImage('assets/images/selectPartida/recuadro-interno2.png')
- self.mBorderPartida1 = CSprite(100, 240)
- self.mBorderPartida1.setImage(border)
-
- self.mPartida2 = CSprite(464, 254)
- self.mPartida2.setImage(recuadro)
- CGame().addChild(self.mPartida2)
-
- self.mBorderPartida2 = CSprite(450, 240)
- self.mBorderPartida2.setImage(border)
-
- self.mPartida3 = CSprite(815, 254)
- self.mPartida3.setImage(recuadro)
- CGame().addChild(self.mPartida3)
-
- self.mBorderPartida3 = CSprite(800, 240)
- self.mBorderPartida3.setImage(border)
+ self.mBorderP = {}
+ for i in range(3):
+ bor = CSprite(100 + 350 * i, 240)
+ bor.setImage(border)
+ self.mBorderP[i] = bor
font28 = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 28)
@@ -106,32 +94,17 @@ class CSelectPartidaState(CGameState):
CGame().addChild(self.mMessage)
mes = unicode(_('Partida %s'), 'UTF-8')
- self.mLabel1 = CLabel()
- self.mLabel1.bgColor = (218, 224, 152)
- self.mLabel1.fgColor = (0xFF, 0xFF, 0xFF)
- self.mLabel1.font = font28
- self.mLabel1.center = (250, 300)
- self.mLabel1.size = (150, 40)
- self.mLabel1.text = mes % 1
- self.mLabel1._update_image()
-
- self.mLabel2 = CLabel()
- self.mLabel2.bgColor = (218, 224, 152)
- self.mLabel2.fgColor = (0xFF, 0xFF, 0xFF)
- self.mLabel2.font = font28
- self.mLabel2.center = (600, 300)
- self.mLabel2.size = (150, 40)
- self.mLabel2.text = mes % 2
- self.mLabel2._update_image()
-
- self.mLabel3 = CLabel()
- self.mLabel3.bgColor = (218, 224, 152)
- self.mLabel3.fgColor = (0xFF, 0xFF, 0xFF)
- self.mLabel3.font = font28
- self.mLabel3.center = (950, 300)
- self.mLabel3.size = (150, 40)
- self.mLabel3.text = mes % 3
- self.mLabel3._update_image()
+ self.mLabelP = {}
+ for i in range(3):
+ label = CLabel()
+ label.bgColor = (218, 224, 152)
+ label.fgColor = (0xFF, 0xFF, 0xFF)
+ label.font = font28
+ label.center = (250 + 350 * i, 300)
+ label.size = (150, 40)
+ label.text = mes % 1
+ label._update_image()
+ self.mLabelP[i] = label
juan = Image.loadImage('assets/images/selectPartida/T-juan.png')
elisa = Image.loadImage('assets/images/selectPartida/T-elisa.png')
@@ -139,170 +112,52 @@ class CSelectPartidaState(CGameState):
star2 = Image.loadImage('assets/images/hall/star2.png')
mes = unicode(_('Partida vacĂ­a'), 'UTF-8')
- self.mEmpty1 = CLabel()
- self.mEmpty1.bgColor = (218, 224, 152)
- self.mEmpty1.fgColor = (0xFF, 0xFF, 0xFF)
- self.mEmpty1.font = font28
- self.mEmpty1.center = (250, 450)
- self.mEmpty1.size = (200, 40)
- self.mEmpty1.text = mes
- self.mEmpty1._update_image()
-
- self.mEmpty2 = CLabel()
- self.mEmpty2.bgColor = (218, 224, 152)
- self.mEmpty2.fgColor = (0xFF, 0xFF, 0xFF)
- self.mEmpty2.font = font28
- self.mEmpty2.center = (600, 450)
- self.mEmpty2.size = (200, 40)
- self.mEmpty2.text = mes
- self.mEmpty2._update_image()
-
- self.mEmpty3 = CLabel()
- self.mEmpty3.bgColor = (218, 224, 152)
- self.mEmpty3.fgColor = (0xFF, 0xFF, 0xFF)
- self.mEmpty3.font = font28
- self.mEmpty3.center = (950, 450)
- self.mEmpty3.size = (200, 40)
- self.mEmpty3.text = mes
- self.mEmpty3._update_image()
-
- self.mChar1 = CSprite(200, 310)
- self.mChar2 = CSprite(550, 310)
- self.mChar3 = CSprite(900, 310)
+ self.mEmptyP = {}
+ for i in range(3):
+ empty = CLabel()
+ empty.bgColor = (218, 224, 152)
+ empty.fgColor = (0xFF, 0xFF, 0xFF)
+ empty.font = font28
+ empty.center = (250 + 350 * i, 450)
+ empty.size = (200, 40)
+ empty.text = mes
+ empty._update_image()
+ self.mEmptyP[i] = empty
+
+ self.mChar = {}
+ for i in range(3):
+ ch = CSprite(200 + 350 * i, 310)
+ self.mChar[i] = ch
##########################################################
-
- par = CGame().getPartida(1)
- if (par == None) or par.isEmpty():
- CGame().addChild(self.mEmpty1)
- else:
- self.misEmptyP1 = False
- CGame().addChild(self.mLabel1)
- CGame().addChild(self.mDeletePartida1, 1)
- if par.getCharacter() == 'Juan':
- self.mChar1.setImage(juan)
- else:
- self.mChar1.setImage(elisa)
- CGame().addChild(self.mChar1)
- #gets the area 1 levels
- a1 = par.getArea(1)
- for i in range(6):
- s = CSprite(150 + 30 * i, 510)
- if a1[i] == 0:
- s.setImage(star1)
- else:
- s.setImage(star2)
- self.mP1_Stars.append(s)
- CGame().addChild(s)
- #gets the area 2 levels
- a2 = par.getArea(2)
- for i in range(6):
- s = CSprite(150 + 30 * i, 540)
- if a2[i] == 0:
- s.setImage(star1)
- else:
- s.setImage(star2)
- self.mP1_Stars.append(s)
- CGame().addChild(s)
- #gets the area 3 levels
- a3 = par.getArea(3)
- for i in range(6):
- s = CSprite(150 + 30 * i, 570)
- if a3[i] == 0:
- s.setImage(star1)
- else:
- s.setImage(star2)
- self.mP1_Stars.append(s)
- CGame().addChild(s)
- ##########################################################
- par = CGame().getPartida(2)
- if (par == None) or par.isEmpty():
- CGame().addChild(self.mEmpty2)
- else:
- self.misEmptyP2 = False
- CGame().addChild(self.mLabel2)
- CGame().addChild(self.mDeletePartida2, 1)
- if par.getCharacter() == 'Juan':
- self.mChar2.setImage(juan)
+ for parNum in range(3):
+ par = CGame().getPartida(parNum + 1)
+ if (par == None) or par.isEmpty():
+ CGame().addChild(self.mEmptyP[parNum])
else:
- self.mChar2.setImage(elisa)
- CGame().addChild(self.mChar2)
- #gets the area 1 levels
- a1 = par.getArea(1)
- for i in range(6):
- s = CSprite(500 + 30 * i, 510)
- if a1[i] == 0:
- s.setImage(star1)
- else:
- s.setImage(star2)
- self.mP2_Stars.append(s)
- CGame().addChild(s)
- #gets the area 2 levels
- a2 = par.getArea(2)
- for i in range(6):
- s = CSprite(500 + 30 * i, 540)
- if a2[i] == 0:
- s.setImage(star1)
+ self.mIsEmptyP[parNum] = False
+ CGame().addChild(self.mLabelP[parNum])
+ CGame().addChild(self.mDeleteP[parNum], 1)
+ if par.getCharacter() == 'Juan':
+ self.mChar[parNum].setImage(juan)
else:
- s.setImage(star2)
- self.mP2_Stars.append(s)
- CGame().addChild(s)
- #gets the area 3 levels
- a3 = par.getArea(3)
- for i in range(6):
- s = CSprite(500 + 30 * i, 570)
- if a3[i] == 0:
- s.setImage(star1)
- else:
- s.setImage(star2)
- self.mP2_Stars.append(s)
- CGame().addChild(s)
+ self.mChar[parNum].setImage(elisa)
+ CGame().addChild(self.mChar[parNum])
+ #gets the area levels
+ inicio = 150 + parNum * 350
+ for j in range(3):
+ a = par.getArea(j + 1)
+ for i in range(6):
+ s = CSprite(inicio + 30 * i, 510 + j * 30)
+ if a[i] == 0:
+ s.setImage(star1)
+ else:
+ s.setImage(star2)
+ self.mStarsP[parNum].append(s)
+ CGame().addChild(s)
- ##########################################################
- par = CGame().getPartida(3)
- if (par == None) or par.isEmpty():
- CGame().addChild(self.mEmpty3)
- else:
- self.misEmptyP3 = False
- CGame().addChild(self.mLabel3)
- CGame().addChild(self.mDeletePartida3, 1)
- if par.getCharacter() == 'Juan':
- self.mChar3.setImage(juan)
- else:
- self.mChar3.setImage(elisa)
- CGame().addChild(self.mChar3)
- #gets the area 1 levels
- a1 = par.getArea(1)
- for i in range(6):
- s = CSprite(850 + 30 * i, 510)
- if a1[i] == 0:
- s.setImage(star1)
- else:
- s.setImage(star2)
- self.mP3_Stars.append(s)
- CGame().addChild(s)
- #gets the area 2 levels
- a2 = par.getArea(2)
- for i in range(6):
- s = CSprite(850 + 30 * i, 540)
- if a2[i] == 0:
- s.setImage(star1)
- else:
- s.setImage(star2)
- self.mP3_Stars.append(s)
- CGame().addChild(s)
- #gets the area 3 levels
- a3 = par.getArea(3)
- for i in range(6):
- s = CSprite(850 + 30 * i, 570)
- if a3[i] == 0:
- s.setImage(star1)
- else:
- s.setImage(star2)
- self.mP3_Stars.append(s)
- CGame().addChild(s)
-
+ ##########################################################
alphasurface = pygame.Surface((1200,900))
alphasurface.convert()
@@ -358,70 +213,35 @@ class CSelectPartidaState(CGameState):
CGame().setState(ms)
return
- if self.mDeletePartida1.clicked():
- self.mToDel = 1
- self.addDialog()
- return
-
- if self.mDeletePartida2.clicked():
- self.mToDel = 2
- self.addDialog()
- return
-
- if self.mDeletePartida3.clicked():
- self.mToDel = 3
- self.addDialog()
- return
+ for i in range(3):
+ if self.mDeleteP[i].clicked():
+ self.mToDel = i + 1
+ self.addDialog()
+ return
if self.mOverEnabled:
self.mFlag = self.mFlag - 1
if self.mFlag < 0:
self.mFlag = 0
-
- if self.mPartida1.clicked():
- if self.misEmptyP1:
- ch = CSelectCharacterState()
- else:
- ch = CSelectAreaState()
- CGame().setState(ch)
- CGame().setCurrentPartida(1)
- return
-
- elif self.mPartida2.clicked():
- if self.misEmptyP2:
- ch = CSelectCharacterState()
- else:
- ch = CSelectAreaState()
- CGame().setState(ch)
- CGame().setCurrentPartida(2)
- return
- elif self.mPartida3.clicked():
- if self.misEmptyP3:
- ch = CSelectCharacterState()
- else:
- ch = CSelectAreaState()
- CGame().setState(ch)
- CGame().setCurrentPartida(3)
- return
+ for i in range(3):
+ if self.mPartida[i].clicked():
+ if self.mIsEmptyP[i]:
+ ch = CSelectCharacterState()
+ else:
+ ch = CSelectAreaState()
+ CGame().setState(ch)
+ CGame().setCurrentPartida(i + 1)
+ return
x = CMouse().getX()
y = CMouse().getY()
- if (CMath.pointInsideRectangle(x,y,self.PARTIDA1_RECT)):
- CGame().addChild(self.mBorderPartida1)
- else:
- CGame().removeChild(self.mBorderPartida1)
-
- if (CMath.pointInsideRectangle(x,y,self.PARTIDA2_RECT)):
- CGame().addChild(self.mBorderPartida2)
- else:
- CGame().removeChild(self.mBorderPartida2)
-
- if (CMath.pointInsideRectangle(x,y,self.PARTIDA3_RECT)):
- CGame().addChild(self.mBorderPartida3)
- else:
- CGame().removeChild(self.mBorderPartida3)
+ for i in range(3):
+ if CMath.pointInsideRectangle(x, y, self.mRectP[i]):
+ CGame().addChild(self.mBorderP[i])
+ else:
+ CGame().removeChild(self.mBorderP[i])
else:
self.mFlag = self.mFlag + 1
@@ -445,30 +265,16 @@ class CSelectPartidaState(CGameState):
self.mButtonTrue.set_bgColor(NORMAL_COLOR)
p = Partida()
CGame().setPartida(self.mToDel, p)
- if self.mToDel == 1:
- CGame().removeChild(self.mChar1)
- CGame().removeChild(self.mLabel1)
- CGame().removeChild(self.mDeletePartida1)
- self.misEmptyP1 = True
- for e in self.mP1_Stars:
- CGame().removeChild(e)
- CGame().addChild(self.mEmpty1)
- elif self.mToDel == 2:
- CGame().removeChild(self.mChar2)
- CGame().removeChild(self.mLabel2)
- CGame().removeChild(self.mDeletePartida2)
- self.misEmptyP2 = True
- for e in self.mP2_Stars:
- CGame().removeChild(e)
- CGame().addChild(self.mEmpty2)
- elif self.mToDel == 3:
- CGame().removeChild(self.mChar3)
- CGame().removeChild(self.mLabel3)
- CGame().removeChild(self.mDeletePartida3)
- self.misEmptyP3 = True
- for e in self.mP3_Stars:
- CGame().removeChild(e)
- CGame().addChild(self.mEmpty3)
+ parNum = self.mToDel - 1
+
+ CGame().removeChild(self.mChar[parNum])
+ CGame().removeChild(self.mLabelP[parNum])
+ CGame().removeChild(self.mDeleteP[parNum])
+ self.mIsEmptyP[parNum] = True
+ for e in self.mStarsP[parNum]:
+ CGame().removeChild(e)
+ CGame().addChild(self.mEmptyP[parNum])
+
self.mFlag = FLAG
return
@@ -490,40 +296,20 @@ class CSelectPartidaState(CGameState):
self.mButtonBack = None
CGame().removeChild(self.mMessage)
self.mMessage = None
- CGame().removeChild(self.mPartida1)
- 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)
- for e in self.mP1_Stars:
- CGame().removeChild(e)
- for e in self.mP2_Stars:
- CGame().removeChild(e)
- for e in self.mP3_Stars:
- CGame().removeChild(e)
- CGame().removeChild(self.mDeletePartida1)
- CGame().removeChild(self.mDeletePartida2)
- CGame().removeChild(self.mDeletePartida3)
+ for i in range(3):
+ CGame().removeChild(self.mPartida[i])
+ self.mPartida[i] = None
+ CGame().removeChild(self.mBorderP[i])
+ self.mBorderP[i] = None
+ CGame().removeChild(self.mLabelP[i])
+ self.mLabelP[i] = None
+ CGame().removeChild(self.mChar[i])
+ self.mChar[i] = None
+ CGame().removeChild(self.mEmptyP[i])
+ self.mEmptyP[i] = None
+ CGame().removeChild(self.mDeleteP[i])
+ self.mDeleteP[i] = None
+ for e in self.mStarsP[i]:
+ CGame().removeChild(e)
+ self.mStarsP[i] = None
self.mBackground = None