При попытке переключить покемона я могу получить код, распознающий, что activePlayerMon= имел переключение значений при запуске через параметр switchOption( ) функция, но как только отладчик покидает функцию, он возвращается к исходному значению, когда вам впервые предлагается выбрать Mon
Код: Выделить всё
def fight(playerlist, computerlist):
print('\n',playerlist[1].name,'\n',playerlist[2].name,'\n',playerlist[3].name,'\n')
initFight = int(input('Choose your starting Pokemon\n'))
playerlist[int(initFight)].fightPrompt(computerlist[1])
activePlayerMon = playerlist[initFight]
activeComputerMon = computerlist[1]
def switchOption(determine_user):
global activePlayerMon, activeComputerMon
if determine_user == 1:
print('\n',playerlist[1].name,'\n',playerlist[2].name,'\n',playerlist[3].name,'\n')
changeMon = int(input('Choose who you\'d like to switch to'))
activePlayerMon = playerlist[changeMon]
elif determine_user == 0:
changeMon = randint(1,3)
activeComputerMon = computerlist[changeMon]
while playerlist[1].HP != 0 and playerlist[2].HP != 0 and playerlist[3].HP != 0 or computerlist[1].HP != 0 and computerlist[2].HP != 0 and computerlist[3].HP != 0:
print('\n',activePlayerMon.name,'- \n',activePlayerMon.HP,'\ ',activePlayerMon.MHP,'\n',activeComputerMon.name,'- \n',activeComputerMon.HP,'\ ',activeComputerMon.MHP,'\n')
fightOption = int(input('Would you like to-\n 1. Fight\n 2. Heal\n 3. Switch\n'))
if fightOption == 1:
>
elif fightOption == 2:
>
elif fightOption == 3:
switchOption(1)
Я понимаю, что большая часть кода неоптимизирована, но я действительно застрял на том, чтобы сделать эту работу модульной.
Короче, как мне сделать так, чтобы при переключении значения activePlayerMon внутри функцию switchOption(), она сохраняет изменения, а не просто возвращается к старому значению?
Я готов загрузить файлы на GitHub, если это будет необходимо
Подробнее здесь: https://stackoverflow.com/questions/788 ... when-i-exi