编写一个简单的23 根火柴游戏程序,实现人跟计算机玩这个游戏的程序。 为了方便程序自动评测,假设计算机移动的火柴数不是随机的,而是将剩余的火柴根数对3求余后再加1来作为计算机每次取走的火柴数(最后剩3根以及下数量的时候,按如何能赢来计算数量)。 游戏规则是: 1、两个游戏者开始拥有23 根火柴棒; 2、每个游戏者轮流移走1 根、2 根或3 根火柴; 3、谁取走最后一根火柴为失败者。 ************输入信息提示: 这里是23根火柴游戏!! 注意:最大移动火柴数目为三根 请输入您移动的火柴数目: ************输入格式:"%d" ***********输入信息提示及格式:"您移动的火柴数目为:%d\n" ***********输出信息提示及格式: "计算机移动的火柴数目为:%d\n" "计算机移动后剩下的火柴数目为:%d\n"
时间: 2023-07-15 11:12:00 浏览: 60
以下是简单的23根火柴游戏程序,实现人跟计算机玩这个游戏的程序:
```python
def game():
num_matches = 23
while num_matches > 0:
# 人移动火柴
player_move = int(input("请输入您移动的火柴数目:"))
while player_move not in [1, 2, 3] or player_move > num_matches:
player_move = int(input("请输入正确的火柴数目:"))
num_matches -= player_move
print("您移动的火柴数目为:%d" % player_move)
print("剩余火柴数目为:%d" % num_matches)
# 计算机移动火柴
computer_move = (num_matches % 3) + 1
num_matches -= computer_move
print("计算机移动的火柴数目为:%d" % computer_move)
print("计算机移动后剩下的火柴数目为:%d" % num_matches)
# 判断胜负
if num_matches == 0:
print("您输了!")
else:
print("计算机输了!")
```
首先,定义变量 `num_matches` 表示初始火柴数量为23。然后使用 `while` 循环,只要火柴数量大于0,就一直进行游戏。在每轮游戏中,先让人输入移动的火柴数量,然后判断是否合法,如果不合法就一直让人重新输入。如果合法,就让剩余的火柴数量减去人移动的火柴数量,并输出移动的火柴数目和剩余火柴数目。接着,计算机移动火柴,根据题目要求,计算机移动的火柴数为剩余火柴数目对3取余再加1。同样,让剩余的火柴数量减去计算机移动的火柴数量,并输出计算机移动的火柴数目和计算机移动后剩下的火柴数目。最后,判断剩余火柴数量是否为0,如果是则表示人输了,否则表示计算机输了。
注意,为了方便程序自动评测,本程序没有使用 `input()` 函数来随机计算机移动的火柴数量,而是按照题目要求,将剩余的火柴根数对3求余后再加1来作为计算机每次取走的火柴数。