python设计小游戏谁先走到17,规则是参赛者可选择走一步两步或者三步,两位参赛者交替走,所走路程相加等于17获胜,超过17则输
时间: 2023-08-17 09:31:01 浏览: 141
用python写了1个机器人自己分饰两角,自己和自己玩石头剪刀布。 你输入你想观看的比赛次数。机器人进行比赛,最后公布结果
好的,这是一个简单的游戏,我们可以用 Python 编写一个程序来实现它。以下是程序的实现步骤:
1. 首先让用户输入自己的姓名和对手的姓名。
2. 然后,打印出游戏规则和每个玩家的姓名。
3. 接下来,设置一个变量来记录当前走到的位置,初始值为 0。
4. 然后,设置一个变量来记录当前轮到哪个玩家走,初始值为 1。
5. 开始循环,直到有一个玩家走到 17 或者超过 17。
6. 在每一轮中,先打印出当前玩家的姓名和当前位置。
7. 然后,让玩家输入走的步数,判断输入是否合法(只能走一步、两步或三步),如果输入不合法,提示玩家重新输入。
8. 如果输入合法,更新当前位置,并判断是否已经走到 17 或超过 17,如果是,表示当前玩家获胜,退出循环。
9. 否则,交换玩家,继续下一轮。
10. 最后,打印出获胜者的姓名和恭喜信息。
下面是实现代码:
```python
import random
# 输入姓名
player1 = input("请输入玩家1的姓名:")
player2 = input("请输入玩家2的姓名:")
# 打印游戏规则和玩家信息
print("游戏规则:两个玩家交替走,每次可以走一步、两步或三步,走到17的人获胜。")
print(f"{player1} VS {player2}")
# 初始化位置和轮次
pos = 0
turn = 1
# 开始游戏
while pos < 17:
# 打印当前玩家和位置
if turn == 1:
print(f"\n轮到 {player1},当前位置:{pos}")
else:
print(f"\n轮到 {player2},当前位置:{pos}")
# 输入步数
while True:
step = input("请输入要走的步数(1、2或3):")
if step.isdigit() and 1 <= int(step) <= 3:
step = int(step)
break
else:
print("输入不合法,请重新输入。")
# 更新位置
pos += step
# 判断是否获胜
if pos >= 17:
if turn == 1:
print(f"\n恭喜 {player1} 获胜!")
else:
print(f"\n恭喜 {player2} 获胜!")
break
# 交换玩家
turn = 3 - turn
```
阅读全文