从键盘上接收玩家1和玩家2的输入<0(剪刀) 1(石头) 2(布)> ,断言输入的数据为0、1、2,否则输出异常,判断玩家的输赢(列举出所有玩家1获胜的情况),跳出循环
时间: 2024-09-28 17:12:58 浏览: 0
在程序设计中,你可以通过以下步骤来实现这个功能:
1. **接收输入**:使用控制台输入(如Python的`input()`函数)或者专门的图形用户界面库获取玩家的输入。提示玩家输入0(代表剪刀)、1(代表石头)或2(代表布)。
```python
while True:
player1_input = input("请输入玩家1的选择 (0 - 剪刀, 1 - 石头, 2 - 布): ")
player2_input = input("请输入玩家2的选择: ")
# 断言输入数据的有效性
if not player1_input.isdigit() or int(player1_input) < 0 or int(player1_input) > 2:
print("输入错误,请选择0、1或2!")
continue
if not player2_input.isdigit() or int(player2_input) < 0 or int(player2_input) > 2:
print("输入错误,请选择0、1或2!")
continue
```
2. **判断输赢**:基于简单的规则判断胜利情况。玩家1获胜的情况有:
- 玩家1选剪刀,玩家2选布;
- 玩家1选石头,玩家2选剪刀;
- 玩家1选布,玩家2选石头。
```python
player1_choice = int(player1_input)
player2_choice = int(player2_input)
# 判断游戏结果
if player1_choice == 0 and player2_choice == 2: # 剪刀胜布
print("玩家1获胜!")
break
elif player1_choice == 1 and player2_choice == 0: # 石头胜剪刀
print("玩家1获胜!")
break
elif player1_choice == 2 and player2_choice == 1: # 布胜石头
print("玩家1获胜!")
break
else: # 非以上情况则为平局或玩家2获胜
# ...(继续添加平局或玩家2获胜的判断)
```