Возможно, мне трудно объяснить мою проблему, так что голая со мной. Я пытаюсь создать программу, которая работает как игровой автомат. В моем цикле я пытаюсь определить, сколько кредитов игрок получает по результатам их спина (ов). Однако скажите, когда игрок рулит и выигрывает 300 кредитов, когда его попросят снова закрутить, если они выиграют в другой раз, он не помнит результат прежнего вращения.Добавление результата рулона игрового автомата в петле
Я знаю, что это простое исправление, но в основном каждый раз, когда цикл возвращается назад, он забывает об их обновленной сумме. Я новичок в программировании, и этот материал запутывает меня как ад.
Вот что я имею в секции петли:
cashPool = 500
import random
# Assigning wheel properties
wheel1 = ['Candy','Ghost','Pumpkin','Cat','Zombie','Witch','Witch','Cat','Ghost','Candy']
wheel2 = ['Candy','Ghost','Pumpkin','Cat','Zombie','Witch','Cat','Pumpkin','Ghost','Candy']
wheel3 = ['Candy','Ghost','Pumpkin','Cat','Zombie','Witch','Pumpkin','Candy','Candy','Ghost']
#loop to spin
def AskYesNo(question):
tmp = input(question).lower()
if tmp.startswith('y'):
return True
else:
return False
i = 0
while True:
spin1 = random.randint(3,4)
spin2 = random.randint(3,4)
spin3 = random.randint(3,4)
print(str(wheel1[spin1])+ '\t' + str(wheel2[spin2]+ '\t' + str(wheel3[spin3])))
i += 1
if spin1==4 and spin2==4 and spin3==4:
print('Congratulations! You have won 300 credits')
result = cashPool + 300
print('You currently have '+ str(result) +' credits')
if spin1==5 and spin2==5 and spin3==5:
print('Congratulations! You have won 250 credits')
result = cashPool + 250
print('You currently have '+ str(result)+ ' credits')
if spin1==3 and spin2==3 and spin3==3:
print('Congratulations! You have won 200 credits')
result = cashPool + 200
print('You currently have '+cashPool+' credits')
if spin1==2 and spin2==2 and spin3==2:
print('Congratulations! You have won 150 credits')
result = cashPool + 150
print('You currently have '+cashPool+' credits')
if spin1==1 and spin2==1 and spin3==1:
print('Congratulations! You have won 100 credits')
result = cashPool + 100
print('You currently have '+cashPool+' credits')
if spin1==0 and spin2==0 and spin3==0:
print('Congratulations! You have won 50 credits')
result = cashPool + 50
print('You currently have '+cashPool+' credits')
AskYesNo('Would you like to spin? Enter y/n ')
if False:
break
Кроме того, я 100% уверен, что есть простой способ рассчитать результаты каждого спина, а не делать, если заявления снова и снова. Но опять же, я новичок, и это вне меня. Я не могу думать, как программист, я не знаю, как это делают люди.
'if False' никогда не произойдет ... Кроме того, я думаю, вы хотите, чтобы' cashPool + = 300' обновлял пул, а не присваивал 'result' вообще –