python通过类实现剪刀石头布游戏(定义 Person 类和 Robot 类)。
时间: 2024-08-05 08:00:32 浏览: 35
RobotUtil_JavaRobot_JavaRobot工具类_robot_
5星 · 资源好评率100%
在Python中,我们可以创建一个简单的剪刀、石头、布游戏来演示类的使用。这里我们将定义两个类,`Person` 和 `Robot`,分别代表人类玩家和机器玩家。为了实现游戏逻辑,我们将包含以下几个部分:
1. 定义`Person`类,包含玩家的选择方法(例如`choose`)和游戏结果的方法(例如`result`)。
2. 定义`Robot`类,继承自`Person`,并且机器人有一个固定的策略(例如总是选择特定选项)。
3. 游戏主循环,用于接收玩家和机器人的输入,比较选择,并输出结果。
下面是代码示例:
```python
import random
class Person:
def __init__(self, name):
self.name = name
def choose(self):
options = ['rock', 'paper', 'scissors']
return input(f"{self.name}, choose rock, paper, or scissors: ").lower().strip()
def result(self, opponent_choice):
if opponent_choice == self.choose():
return "It's a tie!"
if (self.choose() == 'rock' and opponent_choice == 'scissors') or \
(self.choose() == 'paper' and opponent_choice == 'rock') or \
(self.choose() == 'scissors' and opponent_choice == 'paper'):
return f"{self.name} wins!"
else:
return f"{opponent_choice} wins!"
class Robot(Person):
def choose(self):
# 机器人总是选择石头(rock)
return 'rock'
def game(player1, player2):
player1_choice = player1.choose()
robot_choice = player2.choose()
print(f"{player1.name} chose {player1_choice}. {player2.name} chose {robot_choice}.")
result = player1.result(robot_choice)
print(result)
# 创建玩家和机器人实例
human_player = Person("Human")
robot_player = Robot("Robot")
# 开始游戏
game(human_player, robot_player)
```
阅读全文