面向对象的思维写一个猜拳游戏python
时间: 2024-12-17 18:37:13 浏览: 7
面向对象的思维方式下,我们可以将猜拳游戏分解为几个关键的对象和它们的行为。下面是一个简单的Python猜拳游戏实现,使用了类和方法:
```python
import random
class Player:
def __init__(self, name):
self.name = name
self.choice = None
def make_choice(self):
choices = ['石头', '剪刀', '布']
self.choice = random.choice(choices)
print(f"{self.name}选择了: {self.choice}")
class Game:
def play(self, player1, player2):
player1.make_choice()
print(f"{player1.name}的选择: {player1.choice}")
if player2.choice is None:
player2.choice = input(f"{player2.name}, 你的选择是什么 (石头/剪刀/布)? ")
else:
print(f"{player2.name}选择了: {player2.choice}")
rules = {"石头": "剪刀", "剪刀": "布", "布": "石头"}
winner = rules.get(player1.choice, "平局") == player2.choice
if winner:
print(f"{player1.name}赢了!")
else:
print(f"{player2.name}赢了!")
# 创建玩家
player1 = Player("玩家A")
player2 = Player("电脑")
# 开始游戏
Game().play(player1, player2)
```
在这个游戏中,`Player`类代表玩家,他们可以选择石头、剪刀或布。`Game`类管理游戏流程,包括两个玩家的选择对比。每次玩家A做出选择后,电脑会随机出拳,并显示结果。
阅读全文