def battle(self): # Set knight attribute knight = Knight(self.knightTuple[0], self.knightTuple[1], self.knightTuple[2], self.knightTuple[3]) knightRingSignList = knight.getRingSignList() index = 1 for journey in knight.getJourneyList(): knightHp = knight.getKnightHP() # If knight Hp <= 0 => Lose the game if knightHp <= 0: print("Knight lose") break # Get journey index indexJourney = index index += 1 # print(str(journey) + " " + str(indexJourney)) eventObj = Event(journey, indexJourney) eventTuple = eventObj.checkEventCode() event = eventTuple[0] if event == 0: print("Knight win") break elif event == -1: continue knightRingSignList, knightHp = self.battleCase( event, knightHp, knight.getKnightMaxHp(), knight.getKnightLevel(), knightRingSignList, eventObj.getLevelO(), eventObj.getRingSignO()) knight.setKnightHp(knightHp) # print(knight.getRingSignList()) stringRingSignList = [str(x) for x in knightRingSignList] stringRingSignList = "".join(stringRingSignList) return stringRingSignList, knight.getKnightHP()