私の問題を説明するのは難しいかもしれません。私はスロットマシンのように動作するプログラムを作成しようとしています。私のループでは、プレイヤーがスピンの結果に基づいて獲得するクレジットの数を決定しようとしています。しかし、プレイヤーがロールして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%確信しています。しかし、再び、私は新しく、それは私を超えています。私はプログラマのように考えることができない、私は人々がそれを行う方法を知らない。
もし 'false'が決して起こらないならば...また、' cashPool + = 300'がプールを更新し、 'result'を全く割り当てないと思います。 –