def play(self): nom = input("Enter your name~ (Default: Katsura)\n") if nom == '': player = Character.Player(name="Katsura", health=200, attack=20, defense=10, level=1) else: player = Character.Player(name=nom, health=200, attack=20, defense=10, level=1) self.spawnEvent(player) # start of the game self.printStatus(player) self.crossingEvent(3) # 出生点 Spawn site print(open('crossing/crossing1_2_3.txt').read()) routeFlag = input("Your decision:") mapServer = Map.Map() while (True): if (routeFlag == '-2'): print("-------------Exit Game--------------") break if (routeFlag == '-1'): # 二周目 nom = input( "Welcome back! Winner! Enter your name~ (Default: Katsura)" ) if nom == '': player = Character.Player(name="Katsura", health=300, attack=30, defense=15, level=2) else: player = Character.Player(name=nom, health=300, attack=30, defense=15, level=2) self.crossingEvent(3) # 出生点 time.sleep(1) print(open('crossing/crossing1_2_3.txt').read()) routeFlag = input("Your decision:") if (routeFlag == '0'): player = Character.Player(name="Katsura", health=200, attack=20, defense=10, level=1) self.spawnEvent(player) print(open('crossing/crossing1_2_3.txt').read()) routeFlag = input("Your decision:") if (routeFlag == '1'): mapServer.location(int(routeFlag)) # Event 1-1 Fruit Tree,attack+ self.eatFruits(player, 1) # Event 1-2 Battle:Otaku Goblin level1 monster = Character.Monster() win = self.battle(player, monster) self.printStatus(player) if (win == True): # Event 1-3 Mysterious Box self.goldBox(player, type=1) # Event 1-4:Merchant level1 self.purchase(player, 1) # Branch 1-4-5 Format:from1 to 4 or 5 In this order. mapServer.location(int(routeFlag)) routeFlag = mapServer.switch(1, 4, 5) else: # If died in the battle 1-2 routeFlag = '0' elif (routeFlag == '2'): mapServer.location(int(routeFlag)) #Event 2-1 Merchant lv1 self.purchase(player, 1) #Event 2-2 Gold Box+100 self.goldBox(player, type=1) #Event 2-3 Monster lv1 monster = Character.Monster() win = self.battle(player, monster) if win == False: routeFlag = '0' else: #Event 2-4 Bomb box flag = self.bombBoxEvent(player) if flag == False: # If killed by the bomb, back to the respawn point. routeFlag = '0' else: #Event 2-5 Attack Fruit self.eatFruits(player, type=1) routeFlag = '6' elif (routeFlag == '3'): mapServer.location(int(routeFlag)) #Event 3-1 Merchant lv1 self.purchase(player, 1) #Event 3-2 Monster lv1 monster = Character.Monster() win = self.battle(player, monster) if win == False: routeFlag = '0' else: #Event 3-3 Poisonous Fruit self.eatFruits(player, type=3) if player.health <= 0: routeFlag = '0' else: #Branch Road 3-7-13 mapServer.location(int(routeFlag)) routeFlag = routeFlag = mapServer.switch(3, 7, 13) if (routeFlag == '4'): mapServer.location(int(routeFlag)) # Event 4-1 Fruit Tree Defense+ self.eatFruits(player, 2) # Event 4-2 Monster level3 monster = Character.Monster3() win = self.battle(player, monster) if (win == True): # Branch road 4-10-11 mapServer.location(int(routeFlag)) routeFlag = mapServer.switch(4, 10, 11) else: routeFlag = '0' elif (routeFlag == '5'): mapServer.location(int(routeFlag)) #Event 5-1 Bomb box flag = self.bombBoxEvent(player) if flag == False: # If killed by the bomb, back to the respawn point. routeFlag = '0' else: # Event 5-2 Campfire self.camping(player) # Event 5-3 Poisonous Fruit self.eatFruits(player, 3) if player.health <= 0: routeFlag = '0' else: # Event 5-4 Attack+ self.eatFruits(player, 1) # Event 5-5 Merchant level2 self.purchase(player, 2) # Event 5-6 Monster level4 monster = Character.Monster4() win = self.battle(player, monster) if (win == False): routeFlag = '0' else: mapServer.location(int(routeFlag)) # Branch Road 5-12-16 routeFlag = mapServer.switch(5, 12, 16) if (routeFlag == '6'): mapServer.location(int(routeFlag)) #Event 6-1 Camping self.camping(player) #Event 6-2 Defense Fruit self.eatFruits(player, type=2) #Event 6-3 Monster lv4 monster = Character.Monster4() win = self.battle(player, monster) if win == False: routeFlag = '0' else: mapServer.location(int(routeFlag)) #Branch Road 6-8-9 routeFlag = mapServer.switch(6, 8, 9) if (routeFlag == '7'): mapServer.location(int(routeFlag)) #Event 7-1 self.eatFruits(player, type=1) #Event 7-2 Monster lv2 monster = Character.Monster2() win = self.battle(player, monster) if win == False: routeFlag = '0' else: #Road 7-6 routeFlag = '6' if (routeFlag == '8'): # 这是出口之一 mapServer.location(int(routeFlag)) # Event 8-2 Merchant lv3 self.purchase(player, 3) # Event 8-3 Camping self.camping(player) # Event 8-4 Dragon dragon = Character.Dragon() win = self.battle(player, dragon) if win == False: routeFlag = '0' else: routeFlag = self.win() if (routeFlag == '9'): # 这是出口之一 mapServer.location(int(routeFlag)) #Event 9-1 Gold Box+500 self.goldBox(player, type=2) #Event 9-2 Merchantlv2 self.purchase(player, 2) #Event 9-3 Monster lv5 monster = Character.Monster5() win = self.battle(player, monster) if win == False: routeFlag = '0' else: routeFlag = self.win() if (routeFlag == '10'): mapServer.location(int(routeFlag)) #Event 10-1 Monster level2 monster = Character.Monster2() win = self.battle(player, monster) if (win == False): routeFlag = '0' else: #Event 10-2 Camping self.camping(player) #Event 10-3 Monster level4 monster = Character.Monster4() win = self.battle(player, monster) if (win == False): routeFlag = '0' else: # Event 10-4 attack fruit self.eatFruits(player, type=1) # Event 10-5 Bomb Box flag = self.bombBoxEvent(player) if flag == False: # If killed by the bomb, back to the respawn point. routeFlag = '0' else: # Event 10-6 Merchant level2 self.purchase(player, 2) routeFlag = '17' if (routeFlag == '11'): # 这是出口之一 mapServer.location(int(routeFlag)) # Event 11-1 Gold box self.goldBox(player, type=2) # Event 11-2 Merchant level3 self.purchase(player, 3) # Event 11-3 Campfire self.camping(player) # Event 11-4 Bomb box flag = self.bombBoxEvent(player) if flag == False: # If killed by the bomb, back to the respawn point. routeFlag = '0' else: # Event 11-5 Final battle: Samurai samurai = Character.Samurai() print(open('battle/battleMonster6.txt').read()) win = self.battle(player, samurai) self.printStatus(player) if (win == True): routeFlag = self.win() if (routeFlag == '12'): mapServer.location(int(routeFlag)) #Event 12-1 Poison self.eatFruits(player, 3) if player.health <= 0: routeFlag = '0' else: # Event 12-2 gold+100 self.goldBox(player, 1) routeFlag = '17' if (routeFlag == '13'): mapServer.location(int(routeFlag)) #Event 13-1 Def+ self.eatFruits(player, type=2) #Event 13-2 Monster lv2 monster = Character.Monster2() win = self.battle(player, monster) if win == False: routeFlag = '0' else: #Event 13-3 Camping self.camping(player) #Event 13-4 Monster lv4 monster = Character.Monster4() win = self.battle(player, monster) if win == False: routeFlag = '0' else: #Event 13-5 Merchant lv2 self.purchase2(player) mapServer.location(int(routeFlag)) #Branch road 13-14-15 routeFlag = mapServer.switch(13, 14, 15) if (routeFlag == '14'): mapServer.location(int(routeFlag)) #Event 14-1 Monster level 5 monster = Character.Monster5() win = self.battle(player, monster) if (win == False): routeFlag = '0' else: #Event 14-2 Camping self.camping(player) mapServer.location(int(routeFlag)) #Branch 14-12-16 routeFlag = mapServer.switch(14, 12, 16) if (routeFlag == '15'): # 这是出口之一 mapServer.location(int(routeFlag)) # Event 15-1 Monster level 5 monster = Character.Monster5() win = self.battle(player, monster) if (win == False): routeFlag = '0' else: #Event 15-2 Poisonous Fruit self.eatFruits(player, type=3) if player.health <= 0: routeFlag = '0' else: routeFlag = self.win() if (routeFlag == '16'): # 这是出口之一 mapServer.location(int(routeFlag)) #Event 16-1 to 2 Attack fruit self.eatFruits(player, type=1) self.eatFruits(player, type=1) if (routeFlag == '17'): # 这是出口之一 mapServer.location(int(routeFlag)) #Event 17-1 Monster lv5 monster = Character.Monster5() win = self.battle(player, monster) if (win == False): routeFlag = '0' else: # Event 17-2 Gold +500 self.goldBox(player, type=2) # Event 17-3 Merchant lv3 self.purchase(player, 3) # Event 17-4 Camping self.camping(player) # Event 17-5 Boss:Ashina Isshin AshinaIsshin = Character.Ashina() win = self.battle(player, AshinaIsshin) if (win == False): routeFlag = '0' else: routeFlag = self.win()