私はcompSciクラスのためにBunkoのゲームをシミュレートするプログラムを作成していますが、グローバル変数playerScore
を変更するには関数scoreCalc
を取得することに問題があります。ゲームはプレイヤーにコンピュータをピットインするので、ある機能を使用してスコアを決定し、正しいスコアを増やすためのイン引数を渡すことができたかったのです。ただし、この機能では、複数のプレイにまたがってplayerScore
の値が保存されず、各ラウンドで0にリセットされます。私は機能が新しかったので、問題はおそらく何か些細なものだと確信していますが、何かすべての助けに感謝します!あなたは、パラメータとしてplayerScore
を渡すと、関数の内部で、それに対して操作を行う場合はグローバル変数を更新しない関数
dieList = []
sixCount = 0
playerScore = 0
def rollDice():
global sixCount
sixCount = 0
dieList.clear()
die1 = random.randint(1,6)
die2 = random.randint(1,6)
die3 = random.randint(1,6)
dieList.append(die1)
dieList.append(die2)
dieList.append(die3)
print(dieList)
for x in dieList:
if x == 6:
sixCount += 1
print("sixCount:", sixCount)
return
def scoreCalc(x):
if sixCount == 1:
x += 1
elif sixCount == 2:
x += 5
elif sixCount == 3:
x += 21
return x
print()
print("Player's turn!")
print('*' * 30)
input("Press ENTER to roll the dice")
print()
rollDice()
print("Score:", scoreCalc(playerScore))
スコア修正するために、同じ機能を使用したいと思います!それはまさに私が探していたものです:) – npburns224