pycharm人机猜拳游戏
时间: 2025-06-09 19:27:07 浏览: 10
### PyCharm中开发人机猜拳游戏的Python实现代码
以下是一个完整的人机猜拳游戏的Python实现代码,该代码基于面向对象思想,并且可以在PyCharm中运行。代码中包含了随机数生成、用户输入处理以及胜负判断等功能。
```python
import random
class Game:
def __init__(self):
self.choices = {1: "石头", 2: "剪刀", 3: "布"}
self.computer_choice = None
self.player_choice = None
def display_menu(self):
print("欢迎来到猜拳游戏!")
print("请选择:")
for key, value in self.choices.items():
print(f"{key}: {value}")
print("0: 退出游戏")
def get_computer_choice(self):
self.computer_choice = random.randint(1, 3) # 随机生成计算机的选择[^2]
def get_player_choice(self):
while True:
try:
choice = int(input("请输入你的选择(1-石头,2-剪刀,3-布,0-退出):"))
if choice == 0:
return None
elif choice in self.choices:
self.player_choice = choice
break
else:
print("无效的选择,请重新输入!")
except ValueError:
print("请输入一个有效的数字!")
def determine_winner(self):
if self.player_choice == self.computer_choice:
return "平局"
elif (self.player_choice == 1 and self.computer_choice == 2) or \
(self.player_choice == 2 and self.computer_choice == 3) or \
(self.player_choice == 3 and self.computer_choice == 1):
return "玩家获胜"
else:
return "计算机获胜"
def play_round(self):
self.get_computer_choice()
self.get_player_choice()
if self.player_choice is None:
return False
print(f"你选择了:{self.choices[self.player_choice]}")
print(f"计算机选择了:{self.choices[self.computer_choice]}")
result = self.determine_winner()
print(f"结果:{result}")
return True
def main():
game = Game()
while True:
game.display_menu()
if not game.play_round():
print("感谢游玩,再见!")
break
if __name__ == "__main__":
main()
```
#### 代码说明
1. **类定义**:
- `Game` 类封装了整个游戏逻辑,包括菜单显示、用户输入处理、计算机随机选择以及胜负判断。
2. **随机数生成**:
- 使用 `random.randint(1, 3)` 来生成计算机的选择[^2]。
3. **用户输入验证**:
- 在 `get_player_choice` 方法中,通过异常捕获和条件判断确保用户输入合法。
4. **胜负判断**:
- 根据经典的石头剪刀布规则进行胜负判断,并输出结果。
5. **主函数**:
- `main` 函数负责启动游戏循环,直到用户选择退出。
---
###
阅读全文
相关推荐
















