Skip to content

Commit

Permalink
Added starting point for a game complete screen (references #42), add…
Browse files Browse the repository at this point in the history
…ed experimental code to implement it.
h2g2guy committed Dec 17, 2013
1 parent 8b15497 commit a33ac01
Showing 2 changed files with 42 additions and 11 deletions.
27 changes: 23 additions & 4 deletions MAFH.activity/Menu.py
Original file line number Diff line number Diff line change
@@ -337,9 +337,9 @@ def pauseMenuDraw(self,player,screen,xStart,yStart,height):
akhalGroup.draw(screen)
screen.blit(font.render(repr(self.player.curBattle.checkValue()),True,(0,15,0)),(580,325,0,0))
k=0
for message in player.curBattle.battleItems:
screen.blit(font.render(message,True,(0,15,0)),(520,350+k,200,300))
k+=40
#for message in player.curBattle.battleItems:
#screen.blit(font.render(message,True,(0,15,0)),(520,350+k,200,300))
#k+=40
elif self.name=="Defeat":
screen.blit(pygame.image.load(ENV_PATH+"Black.gif"),(0,0,0,0))
font=pygame.font.SysFont("cmr10",40,False,False)
@@ -361,6 +361,25 @@ def pauseMenuDraw(self,player,screen,xStart,yStart,height):
screen.blit(font.render("Medium: "+repr(player.geometryStats[1][0])+"/"+repr(player.geometryStats[1][1]),True,(150,0,0)),(910,80,0,0))
screen.blit(font.render("Hard: "+repr(player.geometryStats[2][0])+"/"+repr(player.geometryStats[2][1]),True,(150,0,0)),(910,110,0,0))
screen.blit(font.render("Puzzles solved:"+repr(player.puzzlesSolved),True,(150,0,0)),(400,160,0,0))
elif self.name == "Complete":
screen.blit(pygame.image.load(ENV_PATH+"Black.gif"),(0,0,0,0))
font=pygame.font.SysFont("cmr10",40,False,False)
screen.blit(font.render("You have defeated the Merchant!",True,(150,0,0)),(450,400,0,0))
font=pygame.font.SysFont("cmr10",24,False,False)
#draw player stats
screen.blit(font.render("Multiplication problems right/wrong:",True,(150,0,0)),(20,20,0,0))
screen.blit(font.render("Easy: "+repr(player.multiplicationStats[0][0])+"/"+repr(player.multiplicationStats[0][1]),True,(150,0,0)),(100,50,0,0))
screen.blit(font.render("Medium: "+repr(player.multiplicationStats[1][0])+"/"+repr(player.multiplicationStats[1][1]),True,(150,0,0)),(100,80,0,0))
screen.blit(font.render("Hard: "+repr(player.multiplicationStats[2][0])+"/"+repr(player.multiplicationStats[2][1]),True,(150,0,0)),(100,110,0,0))
screen.blit(font.render("Fraction problems right/wrong:",True,(150,0,0)),(450,20,0,0))
screen.blit(font.render("Easy: "+repr(player.divisionStats[0][0])+"/"+repr(player.divisionStats[0][1]),True,(150,0,0)),(530,50,0,0))
screen.blit(font.render("Medium: "+repr(player.divisionStats[1][0])+"/"+repr(player.divisionStats[1][1]),True,(150,0,0)),(530,80,0,0))
screen.blit(font.render("Hard: "+repr(player.divisionStats[2][0])+"/"+repr(player.divisionStats[2][1]),True,(150,0,0)),(530,110,0,0))
screen.blit(font.render("Geometry problems right/wrong:",True,(150,0,0)),(830,20,0,0))
screen.blit(font.render("Easy: "+repr(player.geometryStats[0][0])+"/"+repr(player.geometryStats[0][1]),True,(150,0,0)),(910,50,0,0))
screen.blit(font.render("Medium: "+repr(player.geometryStats[1][0])+"/"+repr(player.geometryStats[1][1]),True,(150,0,0)),(910,80,0,0))
screen.blit(font.render("Hard: "+repr(player.geometryStats[2][0])+"/"+repr(player.geometryStats[2][1]),True,(150,0,0)),(910,110,0,0))
screen.blit(font.render("Puzzles solved:"+repr(player.puzzlesSolved),True,(150,0,0)),(400,160,0,0))
if player.popUp != None:
player.popUp.draw(screen)
pygame.display.flip()
@@ -679,7 +698,7 @@ def updateByName(self,name,player,screen):
player.traversal=False
player.mainMenu=True
player.currentMenu=player.MainMenu
player.currentMenu.draw(player,screen,0,0,45)
#player.currentMenu.draw(player,screen,0,0,45)
pygame.display.flip()

else:
26 changes: 19 additions & 7 deletions MAFH.activity/pippy_app.py
Original file line number Diff line number Diff line change
@@ -1124,7 +1124,7 @@ def Victory(self):
self.battleItems.append(player.currentRoom.it2.name)
player.battlePlayer.inv_Ar.append(player.currentRoom.it2)
player.currentRoom.it2=0
if isinstance( player.currentRoom.it3, Item ) and player.currentRoom.i3.battle:
if isinstance( player.currentRoom.it3, Item ) and player.currentRoom.it3.battle:
self.battleItems.append(player.currentRoom.it3.name)
player.battlePlayer.inv_Ar.append(player.currentRoom.it3)
player.currentRoom.it3=0
@@ -1133,16 +1133,27 @@ def Victory(self):
player.battlePlayer.inv_Ar.append(player.currentRoom.it4)
player.currentRoom.it4=0
print(self.battleItems)
self.player.currentRoom.en1=0
self.player.currentRoom.en2=0
self.player.currentRoom.en3=0
self.player.currentRoom.en4=0

self.player.battle=False

#the code for ending the game in victory will be similar to this...
#if self.player.currentRoom.en1!='0':
# victoryMenu=Menu(["LoseExit"],self.player,MENU_PATH+"VictoryScreen.gif",[MENU_PATH+"Blank.gif",MENU_PATH+"Blank.gif"],"Complete")
#else:
self.player.battlePlayer.AL+=1
victoryMenu=Menu(["Continue"],self.player,MENU_PATH+"VictoryScreen.gif",[MENU_PATH+"Blank.gif"],"Victory")
self.player.battle=False
self.player.mainMenu=True


#use syntax similar to this to end the game
#victoryMenu=Menu(["LoseExit"],self.player,MENU_PATH+"VictoryScreen.gif",[MENU_PATH+"Blank.gif",MENU_PATH+"Blank.gif"],"Complete")

self.player.currentMenu=victoryMenu
self.player.mainMenu=True

self.player.currentRoom.en1=0
self.player.currentRoom.en2=0
self.player.currentRoom.en3=0
self.player.currentRoom.en4=0

###
#Called when battle is over and player loses
@@ -2172,6 +2183,7 @@ def drawTextBox(player,screen):
drawTextBox(player,screen)
elif player.currentMenu.name=="Difficulty Menu":
player.currentMenu.mainMenuDraw(player,screen,player.currentMenu.sX,player.currentMenu.sY,40)
# this next elif should never be reached because of the first conditional - double check later
elif player.currentMenu.name=="Defeat":
player.currentMenu.mainMenuDraw(player,screen,500,500,50)

0 comments on commit a33ac01

Please sign in to comment.