python - 我如何确定这个基于文本的游戏的获胜者?
问题描述
我制作了这个游戏的工作版本,玩家与电脑。我不知道如何确定获胜者,经过大约 30 分钟的研究,我决定在这里提问。
这是一个简单的游戏。计算机是随机的,所以你的对手没有策略。我试图让计算机读取前一行,看看谁做了最后一步(因为对方获胜),我尝试使用减法。我在过去 2 个月内没有编码,所以有什么我遗漏的吗?
import random
print("That pen game you used to play as a kid (it's kinda like 21
dares)")
newnum = random.randint(20,30)
print("Starting number: {}".format(newnum))
while newnum > 0:
pRemove = int(input("How many do you want to remove: "))
if pRemove >= 1 and pRemove <= 3:
newnum = newnum - pRemove
print("{} left".format(newnum))
if newnum <= 0:
break
elif pRemove > 3 or pRemove < 1:
print("Put a number from 1-3")
break
else:
print("error")
exit()
CPUremove = random.randint(1, 3)
newnum = newnum - CPUremove
print("CPU removed {}. {} left!".format(CPUremove, newnum))
最后我需要看到“你赢了!” 或“你输了!” 随后终止程序。(我的意思是在它的末尾添加一些东西,而不是更改代码)
解决方案
在while
循环之前,设置一个变量:
human_went_last = False
while newnum > 0:
...
并在玩家移除一些笔后的检查中,将变量设置为新值:
if newnum <= 0:
human_went_last = True
break
然后,在循环之后,您可以检查谁最后去了。
if human_went_last:
print("Human made the last move")
else:
print("Computer made the last move")
推荐阅读
- asp.net - 如何使用带有asp链接的页面上的功能重定向到另一个页面
- python - 逐元素检查字符串是否存在
- html - 在 Ag Grid 中动态更改或设置单元格类
- nim-lang - 从 Nim 的 Neo 矩阵中选择任意行?
- python-3.7 - 在python中包含三个值的元组列表中搜索两个值
- reactjs - Redux:Reducer 在第一次尝试时没有改变状态
- c++ - gcc 警告“没有声明任何东西
- ansible - Ansible vs Puppet - 代理“签到”
- google-chrome - 离线下载 crx1 Chrome 扩展的 URL 是什么?
- vue.js - Vue SSR 中的 Cookie