【发布时间】:2019-11-17 02:25:58
【问题描述】:
我创建了 nim 游戏的一个版本,但它低于零。我设置计算机的方式总是和我一样多,但是如果计数是 4 并且我取出 3,那么轮到计算机时将是 1。然后电脑取出3,显示为-2。那么我将如何告诉程序始终保持计数高于或等于零呢?还有谁知道怎么做,这样电脑输入的金额就不会总是和我一样?
这是我的代码。
import random
Stones = random.randint(15, 30)
User = 0
YourTurn = True
print("This is a game where players take turns taking stones from a pile of stones. The player who
takes the last stone loses.")
print("The current stone count is:", Stones)
while True:
while YourTurn == True and Stones > 0:
User = int(input("How many stones do you want to remove?"))
if User == 1:
Stones -= 1
print("You removed 1 stone! The current stone count is:", Stones)
YourTurn = not True
elif User == 2:
Stones -= 2
print("You removed 2 stone! The current stone count is:", Stones)
YourTurn = not True
elif User == 3:
Stones -= 3
YourTurn = not True
print("You removed 3 stone! The current stone count is:", Stones)
else:
print("You can only remove a maximum of 3 stones.")
while YourTurn == False and Stones > 0:
AI = random.randint(1, 3)
if AI == 1:
Stones -= 1
print("The A.I removed 1 stone! The current stone count is:", Stones)
YourTurn = not False
elif AI == 2:
Stones -= 2
print("The A.I removed 2 stone! The current stone count is:", Stones)
YourTurn = not False
elif AI == 3:
Stones -= 3
print("The A.I removed 3 stone! The current stone count is:", Stones)
YourTurn = not False
if Stones <= 0:
if YourTurn == True:
print("The A.I took the last stone it lost. You won the game!")
break
elif YourTurn == False:
print("You took the last stone you lost. The A.I won the game!")
break
【问题讨论】:
标签: python