diff options
author | Blitzkev <blitzkev@gmail.com> | 2010-02-19 16:22:49 (GMT) |
---|---|---|
committer | Blitzkev <blitzkev@gmail.com> | 2010-02-19 16:22:49 (GMT) |
commit | 86a4bc229c903ead1b67b6e735e79c2669e26791 (patch) | |
tree | 21809b7129d87bcf991a9fd0a959e5c92e9f7f6b /MAFH.activity | |
parent | 69c6d36e55bce5e401af659575505a5a9a420a2f (diff) |
Merge
Diffstat (limited to 'MAFH.activity')
-rw-r--r-- | MAFH.activity/Enemy.py | 7 | ||||
-rw-r--r-- | MAFH.activity/Map.py | 30 | ||||
-rw-r--r-- | MAFH.activity/Menu.py | 2 | ||||
-rw-r--r-- | MAFH.activity/Shop.py | 2 | ||||
-rwxr-xr-x | MAFH.activity/assets/map/al1.txt | 2 | ||||
-rwxr-xr-x | MAFH.activity/assets/map/al4.txt | 40 | ||||
-rwxr-xr-x | MAFH.activity/assets/map/al5.txt | 42 | ||||
-rwxr-xr-x | MAFH.activity/assets/map/al6.txt | 30 | ||||
-rwxr-xr-x | MAFH.activity/assets/map/al7.txt | 6 | ||||
-rwxr-xr-x | MAFH.activity/assets/map/bl2.txt | 30 | ||||
-rw-r--r-- | MAFH.activity/assets/map/bl3.txt | 21 | ||||
-rwxr-xr-x | MAFH.activity/assets/map/bl4.txt | 30 | ||||
-rw-r--r-- | MAFH.activity/assets/map/bl5.txt | 7 | ||||
-rw-r--r-- | MAFH.activity/constants.py | 5 | ||||
-rw-r--r-- | MAFH.activity/pippy_app.py | 47 |
15 files changed, 174 insertions, 127 deletions
diff --git a/MAFH.activity/Enemy.py b/MAFH.activity/Enemy.py index d1ee6dc..4017acf 100644 --- a/MAFH.activity/Enemy.py +++ b/MAFH.activity/Enemy.py @@ -9,8 +9,10 @@ ENEMY = { '2':{'name':_('Goblin'),'img':"concept_goblin.gif",'hp':40,'att':3,'weak':'fire'}, '3':{'name':_('Orc'),'img':"concept_orc.gif",'hp':50,'att':5,'weak':'lightning'}, '4':{'name':_('Stone Golem'),'img':"concept_orc.gif",'hp':10,'att':6,'weak':'missile'}, - #'5':{'name':_('Serratula')}, - #'6':{'name':_('Feren')}, + '5':{'name':_('Serratula'),'img':"Crab.png",'hp':125,'att':12,'weak':'crit'}, + '6':{'name':_('Feren'),'img':"merchant.gif",'hp':1500,'att':10,'weak':'special'}, + '7':{'name':_('Cave Crab'),'img':"Crab.png",'hp':50,'att':7,'weak':'missile'}, + '8':{'name':_('Frost Giant'),'img':"frost_giant.gif",'hp':45,'att':9,'weak':'fire'} } class Enemy(Actor): @@ -30,6 +32,7 @@ class Enemy(Actor): self.name=ENEMY[id]['name'] self.sprite.image=pygame.image.load(CHAR_PATH + ENEMY[id]['img']) self.HP = ENEMY[id]['hp'] + self.MHP=ENEMY[id]['hp'] self.ATT = ENEMY[id]['att'] self.weakness=ENEMY[id]['weak'] self.sprite.rect=(200,200,50,300) diff --git a/MAFH.activity/Map.py b/MAFH.activity/Map.py index 300cd7b..5c3c8a2 100644 --- a/MAFH.activity/Map.py +++ b/MAFH.activity/Map.py @@ -115,9 +115,16 @@ class Map: self.totalSurface.fill((0,0,0),(player.currentX*40,player.currentY*40+5,5,30)) def display(self,player,screen): - mapView=pygame.transform.chop(self.totalSurface,(0,0,0,0)) - mapView.fill((255,0,0),(player.currentX*40,player.currentY*40,38,38)) - + #pad the total surface with 100x100 pix + totalPadded=pygame.Surface((self.totalSurface.get_width()+100,self.totalSurface.get_height()+100)) + totalPadded.blit(self.totalSurface,(100,100,self.totalSurface.get_width(),self.totalSurface.get_height())) + #blit a player-centered map on a new square surface + mapView=pygame.Surface((200,200)) + sectRect=((self.sizeX-player.currentX+(2-self.sizeX))*40-100,(self.sizeY-player.currentY+(2-self.sizeY))*40-100,300,300) + mapView.blit(totalPadded,sectRect) + mapView.fill((250,0,0),(82,82,34,34)) + + NORTH=1 SOUTH=3 EAST=0 @@ -140,18 +147,5 @@ class Map: angle=270 mapView=pygame.transform.rotate(mapView,angle) angle=180 - - - sideDifference=self.sizeX-self.sizeY - angle=angle*(math.pi/180) - curSect=pygame.Rect(0,700,200,200) - curSect.top+=((player.currentX*40-81)*math.cos(angle))-((player.currentY*40-81)*math.sin(angle)) - curSect.left-=((player.currentX*40-81)*math.sin(angle))+((player.currentY*40-81)*math.cos(angle)) - if player.playerFacing==EAST: - curSect.top+=sideDifference*(40-81) - elif player.playerFacing==SOUTH: - curSect.left+=sideDifference*(40-81) - screen.fill(0,(0,700,200,300),0) - screen.blit(mapView,curSect) - screen.fill(0,(200,700,1200,300),0) - + screen.fill((0,0,0),(0,700,300,1000)) + screen.blit(mapView,(0,700,200,200)) diff --git a/MAFH.activity/Menu.py b/MAFH.activity/Menu.py index 3fdb001..6beeffd 100644 --- a/MAFH.activity/Menu.py +++ b/MAFH.activity/Menu.py @@ -499,7 +499,7 @@ class Menu: self.tm_em_viewStatistics() #########Pause Menu Buttons###################################### - elif name=="Save": + elif name=="Save" and self.name !="Pause Menu": dataList=player.toString() FILE=open(os.path.join(activity.get_activity_root(),"data/"+player.name+".txt"),"w") FILE.write(simplejson.dumps(dataList)) diff --git a/MAFH.activity/Shop.py b/MAFH.activity/Shop.py index bfd2f18..5cbc890 100644 --- a/MAFH.activity/Shop.py +++ b/MAFH.activity/Shop.py @@ -220,7 +220,7 @@ class Shop: bgSprite=pygame.sprite.Sprite() bgSprite.image=pygame.image.load(MENU_PATH+"ShopBG.gif") bgSprite.rect=(0,0,600,900) - merchantSprite.image=pygame.transform.scale(pygame.image.load(CHAR_PATH+"Merchant.gif"),(550,550)) + merchantSprite.image=pygame.transform.scale(pygame.image.load(CHAR_PATH+"merchant.gif"),(550,550)) merchantSprite.rect=pygame.Rect(640,160,200,200) merchantGroup=pygame.sprite.Group(merchantSprite) bgGroup=pygame.sprite.Group(bgSprite) diff --git a/MAFH.activity/assets/map/al1.txt b/MAFH.activity/assets/map/al1.txt index b40fb9b..e3af6c7 100755 --- a/MAFH.activity/assets/map/al1.txt +++ b/MAFH.activity/assets/map/al1.txt @@ -9,7 +9,7 @@ Nx0000Eu00000lv000000 00Su000000000qv000000 000000000000000000000 NuSl000000000lhlh0000 -Nu0000Eu0000000000000 +Nu0000Eu0030000000000 00SuWuEu00000lv000000 Nl00Wu000000000000000 000000000000000000000 diff --git a/MAFH.activity/assets/map/al4.txt b/MAFH.activity/assets/map/al4.txt index a709c52..6d109bc 100755 --- a/MAFH.activity/assets/map/al4.txt +++ b/MAFH.activity/assets/map/al4.txt @@ -3,23 +3,23 @@ al4.txt 4x5 0 al5.txt -000000000000000000000
-00Su00Eu0000000000000
-0000WuEu0000000000000
-00SuWu000000000000000
-00Su00Eu0000000000000
-Nu00Wu000000000000000
-000000000000000000000
-Nu0000Ex0000000000000
-Nu0000Eu0000000000000
-00SuWuEu0000000000000
-0000WuEu0000000000000
-00SuWu000000000000000
-000000000000000000000
-Nu0000000000000000000
-000000000000000000000
-NuSu00000000000000000
-000000000000000000000
-00Se00Eu0000000000000
-0000WuEu0000000000000
-Nu00Wu000000000000000
+000000000000000000000 +00Su00Eu00000rvqv0000 +0000WuEu0000000000000 +00SuWu000000000000000 +00Su00Eu0000000000000 +Nu00Wu000000000000000 +000000000000000000000 +Nu0000Ex0000000000000 +Nu0000Eu0000000000000 +00SuWuEu0000000000000 +0000WuEu0000000000000 +00SuWu000000000000000 +000000000000000000000 +Nu0000000000000000000 +000000000000000000000 +NuSu00000000000000000 +000000000000000000000 +00Se00Eu0000000000000 +0000WuEu0000000000000 +Nu00Wu000000000000000 diff --git a/MAFH.activity/assets/map/al5.txt b/MAFH.activity/assets/map/al5.txt index 4839bf9..cb2f87e 100755 --- a/MAFH.activity/assets/map/al5.txt +++ b/MAFH.activity/assets/map/al5.txt @@ -2,24 +2,24 @@ Dungeon 5 al5.txt 5x4 0 -al5.txt -0000Wu000000000000000
-00Su00000000000000000
-000000000000000000000
-00Su00Eu0000000000000
-0000WuEl0000000000000
-0000WxEu0000000000000
-NuSuWuEu0000000000000
-0000WuEu0000000000000
-NuSuWuEu0000000000000
-0000Wu000000000000000
-000000000000000000000
-NuSu00000000000000000
-000000000000000000000
-NuSu00000000000000000
-000000000000000000000
-000000Eu0000000000000
-Nu00WuEu0000000000000
-00SeWuEu0000000000000
-Nu00WuEu0000000000000
-0000Wu000000000000000
+bl1.txt +0000Wu000000000000000 +00Su00000000000000000 +000000000000000000000 +00Su00Eu0000000000000 +0000WuEl0000000000000 +0000WxEu0000000000000 +NuSuWuEu0000000000000 +0000WuEu0000000000000 +NuSuWuEu00000qv000000 +0000Wu000000000000000 +000000000000000000000 +NuSu000000000rv000000 +000000000000000000000 +NuSu00000000000000000 +000000000000000000000 +000000Eu0000000000000 +Nu00WuEu0000000000000 +00SeWuEu0000000000000 +Nu00WuEu0000000000000 +0000Wu000000000000000 diff --git a/MAFH.activity/assets/map/al6.txt b/MAFH.activity/assets/map/al6.txt deleted file mode 100755 index 274ba4d..0000000 --- a/MAFH.activity/assets/map/al6.txt +++ /dev/null @@ -1,30 +0,0 @@ -Dungeon 6 -al6.txt -5x5 -0 -al7.txt -00Su00Eu00000000000000000
-0000WuEu00000000000000000
-0000WuEu00000000000000000
-0000WuEu00000000000000000
-0000WuEe00000000000000000
-NuSu000000000000000000000
-0000000000000000000000000
-0000000000000000000000000
-0000000000000000000000000
-0000000000000000000000000
-Nu0000Eu00000000000000000
-0000WuEu00000000000000000
-0000WuEu00000000000000000
-00SuWu0000000000000000000
-0000000000000000000000000
-0000000000000000000000000
-0000000000000000000000000
-0000000000000000000000000
-NuSu00Eu00000000000000000
-0000Wu0000000000000000000
-0000WxEu00000000000000000
-0000WuEu00000000000000000
-0000WuEu00000000000000000
-Nu00Wu0000000000000000000
-0000000000000000000000000
diff --git a/MAFH.activity/assets/map/al7.txt b/MAFH.activity/assets/map/al7.txt deleted file mode 100755 index 2ce236a..0000000 --- a/MAFH.activity/assets/map/al7.txt +++ /dev/null @@ -1,6 +0,0 @@ -Dungeon 6 -al7.txt -1x1 -0 -0 -00Se00000000000000000 diff --git a/MAFH.activity/assets/map/bl2.txt b/MAFH.activity/assets/map/bl2.txt new file mode 100755 index 0000000..bc0206e --- /dev/null +++ b/MAFH.activity/assets/map/bl2.txt @@ -0,0 +1,30 @@ +Dungeon 6 +bl2.txt +5x5 +1 +bl3.txt +00Su00Eu0000000000000 +0000WuEu0800800000000 +0000WuEu0000000000000 +00SuWu000000000000000 +00Su00Ee0000000000000 +NuSu00000000000000000 +00Su00Ex0000000000000 +000000Eu00000rh000000 +NuSuWp000000000000000 +NuSu000000000lv000000 +NuSu00000077000000000 +Nu0000Eu0088000000000 +00SuWu000000000000000 +NuSu00000880800000000 +NuSu000000000mv000000 +NuSu00Eu0008000000000 +0000Wu0000000qv000000 +Nu0000Eu0000000000000 +Nu00Wu000000000000000 +NuSu000000000lv000000 +Nu0000Eu0000000000000 +0000WuEu0000000000000 +0000WuEu0000000000000 +0000WuEuS000000000000 +Nu00Wu00070873b000000 diff --git a/MAFH.activity/assets/map/bl3.txt b/MAFH.activity/assets/map/bl3.txt new file mode 100644 index 0000000..5f9fd36 --- /dev/null +++ b/MAFH.activity/assets/map/bl3.txt @@ -0,0 +1,21 @@ +Dungeon 6 +bl3.txt +4x4 +1 +bl4.txt +00SuWeEu00000000000000000
+00SuWu0000007000000000000
+00Sb00Eu00008000000000000
+00SuWu0000000000000000000
+NuSu00Eu00000000000000000
+Nu00Wu0000000qv0000000000
+NpSx00Ep00000000000000000
+NuSuWb0000007000000000000
+NuSu00El00000000000000000
+00SlWl0000008rv0000000000
+00Sp00Ep000008v0000000000
+NuSuWp0000000000000000000
+Nu0000Eu00008000000000000
+Nl00WuEu00000000000000000
+Np00WuEu00000000000000000
+NuWu000000007000000000000
diff --git a/MAFH.activity/assets/map/bl4.txt b/MAFH.activity/assets/map/bl4.txt new file mode 100755 index 0000000..d9a1acc --- /dev/null +++ b/MAFH.activity/assets/map/bl4.txt @@ -0,0 +1,30 @@ +Dungeon 6 +bl4.txt +5x5 +1 +bl5.txt +00Su00Eu00000000000000000
+0000WuEu00000000000000000
+NeSlWuEu07770000000000000
+0000WuEu00000000000000000
+00SuWu0000000000000000000
+NuSu000000000000000000000
+0000000000000000000000000
+NlSx0000S0000000000000000
+0000000000000000000000000
+NuSu000000000000000000000
+NuSu00El07870000000000000
+0000WlExS0000000000000000
+0000000000000000000000000
+0000WxElS0000000000000000
+NuSuWl0008780000000000000
+NuSu000000000000000000000
+0000000000000000000000000
+NxSl0000S0000000000000000
+0000000000000000000000000
+NuSu000000000000000000000
+Nu0000Eu00000000000000000
+0000WuEu00000000000000000
+Nl00WuEu08880000000000000
+0000WuEu000000000rv000000
+NuWu000000000qv0000000000
diff --git a/MAFH.activity/assets/map/bl5.txt b/MAFH.activity/assets/map/bl5.txt new file mode 100644 index 0000000..bbf4c6f --- /dev/null +++ b/MAFH.activity/assets/map/bl5.txt @@ -0,0 +1,7 @@ +Dungeon 6 +bl5.txt +1x2 +1 +0 +NeSu000000000000000000000
+Nx00000000600000000000000 diff --git a/MAFH.activity/constants.py b/MAFH.activity/constants.py index be419d1..91441ad 100644 --- a/MAFH.activity/constants.py +++ b/MAFH.activity/constants.py @@ -8,10 +8,11 @@ MAP_PATH = BASE_PATH + "map/" MENU_PATH = BASE_PATH + "image/menu/" HUD_PATH = BASE_PATH + "image/hud/" ENV_PATH = BASE_PATH + "image/environment/" +ITEM_PATH = BASE_PATH + "image/item/" PUZZLE_PATH = BASE_PATH + "image/puzzle/" FMC_PATH = BASE_PATH + "fmc/" -TOUR_PATH = BASE_PATH + "/image/tutorial/" -CHAR_PATH = BASE_PATH + "/image/character/" +TOUR_PATH = BASE_PATH + "image/tutorial/" +CHAR_PATH = BASE_PATH + "image/character/" DOOR_ORDER = ['N','S','E','W'] DOOR_INDEX = { diff --git a/MAFH.activity/pippy_app.py b/MAFH.activity/pippy_app.py index a824bb8..393680d 100644 --- a/MAFH.activity/pippy_app.py +++ b/MAFH.activity/pippy_app.py @@ -6,7 +6,7 @@ import os.path from random import * from PopUp import PopUp -from Items import get_item, Item +from Items import get_item, Item, InvalidItemException from Enemy import get_enemy, Enemy from Hero import Hero from Dungeon import Dungeon @@ -286,11 +286,15 @@ class Player: self.battlePlayer.HP=data[12] i=13 self.battlePlayer.inv_Ar=[] - while data[i]!= 'End Inventory': - self.battlePlayer.inv_Ar.append(get_item(data[i])) - i+=1 + while not data[i]== 'End Inventory': + try: + self.battlePlayer.inv_Ar.append(get_item(data[i])) + i+=1 + print(data[i]) + print(get_item(data[i]).name) + except InvalidItemException: + break i+=1 - line=data[i] j=0 while data[i]!='End Equip': if data[i]==None: @@ -389,13 +393,14 @@ class Player: for item in self.battlePlayer.inv_Ar: if item.type=="key": self.battlePlayer.inv_Ar.remove(item) + if self.dgn==None: + self.dgn=Dungeon('al1.txt') if reload: self.dgn=Dungeon(self.dgn.fileName) elif self.dgn: + self.currentMenu.updateByName("Save",player,screen) self.battlePlayer.MHP+=2 self.dgn=Dungeon(self.dgn.next) - else: - self.dgn=Dungeon('al1.txt') if self.dgn.theme != self.theme: self.loadImages(self.dgn.theme) self.theme=self.dgn.theme @@ -671,7 +676,7 @@ class BattleEngine: screen.blit(inputText,pygame.Rect(250,400,200,30)) - if self.timeBonus<1: + if self.timeBonus<1 and self.timeBonus>=0: screen.blit(pygame.transform.scale(pygame.image.load(HUD_PATH+"bt_"+repr(int(self.timeBonus*10)*10)+".gif"),(275,50)),(5,200,150,50)) pygame.display.flip() @@ -688,6 +693,7 @@ class BattleEngine: def attack(self,attacker,attackName): defender=self.enemies[self.selEnemyIndex] if attackName=="critical": + self.player.atkTutorial=True attacker.setBonusAP(attacker.currentAnswer+int(self.timeBonus*10)) if isinstance(defender,Enemy) and defender.weakness=='normal': attacker.setBonusAP(attacker.BAB*2) @@ -696,10 +702,10 @@ class BattleEngine: tup=(tup[0]+1,tup[1]) self.player.multiplicationStats[self.player.critDifficulty-1]=tup if not player.scanTutorial: - player.popUp=PopUp(10,10,["To discover an enemy's weakness","select scan"]) - player.scanTutorial=True + self.player.popUp=PopUp(10,10,["To discover an enemy's weakness","select scan"]) + self.player.scanTutorial=True else: - player.popUp=None + self.player.popUp=None elif attackName=="Fire": attacker.setBonusAP(int(self.timeBonus*20)+10) if isinstance(defender,Enemy) and defender.weakness=='fire': @@ -711,7 +717,7 @@ class BattleEngine: tup=self.player.geometryStats[self.player.geomDifficulty-1] tup=(tup[0]+1,tup[1]) self.player.geometryStats[self.player.geomDifficulty-1]=tup - self.player.geomTutorial=True + self.player.magTutorial=True self.player.popUp=None elif attackName=="Heal": @@ -722,7 +728,7 @@ class BattleEngine: tup=self.player.geometryStats[self.player.geomDifficulty-1] tup=(tup[0]+1,tup[1]) self.player.geometryStats[self.player.geomDifficulty-1]=tup - self.player.geomTutorial=True + self.player.magTutorial=True self.player.popUp=None elif attackName=="Lightning": @@ -736,7 +742,7 @@ class BattleEngine: tup=self.player.geometryStats[self.player.geomDifficulty-1] tup=(tup[0]+1,tup[1]) self.player.geometryStats[self.player.geomDifficulty-1]=tup - self.player.geomTutorial=True + self.player.magTutorial=True self.player.popUp=None elif attackName=="Missile": @@ -750,7 +756,7 @@ class BattleEngine: tup=self.player.geometryStats[self.player.geomDifficulty-1] tup=(tup[0]+1,tup[1]) self.player.geometryStats[self.player.geomDifficulty-1]=tup - self.player.geomTutorial=True + self.player.magTutorial=True self.player.popUp=None elif attackName=="Division": @@ -1678,7 +1684,7 @@ def startPuzzle(player): player.inPuzzle=True player.traversal=False if not player.puzzleTutorial: - player.popUp=PopUp(10,10,["This door has a special kind of lock","To unlock it, you have to","Re-arrange the tiles so they make an image"]) + player.popUp=PopUp(10,10,["This door has a special kind of lock","To unlock it, you have to","Re-arrange the tiles","using the arrow keys","to make the image whole"]) else: player.popUp=None def stopPuzzle(player,solved): @@ -2032,15 +2038,6 @@ def drawPuzzle(player,screen): #draw background and completed image screen.fill((0,0,0),(0,0,1200,900)) screen.blit(player.puzzle.puzBG,(75,-750,1200,900)) - if player.puzzleTutorial==False: - font=pygame.font.SysFont("cmr10",35,False,False) - y=0 - screen.fill((255,255,255),(0,2,1200,200)) - lines=["This door is locked with a special lock. In order to unlock it, you must"," re-arrange the tiles and make the image whole. Use the arrow keys ","to slide the tiles. You can view the completed image by pressing","any other button. To give up, press or backspace."] - screen.blit(pygame.image.load(TOUR_PATH+"button/"+"buttonX.gif"),(570,150,40,40)) - for message in lines: - screen.blit(font.render(message,True,(75,0,0)),(0,20+y,200,300)) - y+=40 if player.puzzle.showFull: screen.blit(player.puzzle.completedPuzzle,(300,100,600,400)) else: |