python面对对象可以选择人物的猜拳游戏
时间: 2023-05-20 12:03:44 浏览: 128
【Python知识点梳理】8.飞机大战(面向对象设计思维)----源代码程序
5星 · 资源好评率100%
可以使用类来实现人物的猜拳游戏,每个玩家可以被表示为一个对象,拥有自己的属性和方法,比如选择出拳的方法、记录胜负的属性等等。可以使用继承来实现不同类型的玩家,比如电脑玩家和人类玩家。具体实现可以参考以下代码:
```python
import random
class Player:
def __init__(self, name):
self.name = name
self.score = 0
def choose(self):
pass
class HumanPlayer(Player):
def choose(self):
print("请出拳:1-石头,2-剪刀,3-布")
choice = int(input())
return choice
class ComputerPlayer(Player):
def choose(self):
choice = random.randint(1, 3)
return choice
class Game:
def __init__(self, human, computer):
self.human = human
self.computer = computer
def play(self):
print("游戏开始!")
for i in range(3):
human_choice = self.human.choose()
computer_choice = self.computer.choose()
print("{}出拳:{}".format(self.human.name, human_choice))
print("{}出拳:{}".format(self.computer.name, computer_choice))
if human_choice == computer_choice:
print("平局!")
elif (human_choice == 1 and computer_choice == 2) or \
(human_choice == 2 and computer_choice == 3) or \
(human_choice == 3 and computer_choice == 1):
print("{}获胜!".format(self.human.name))
self.human.score += 1
else:
print("{}获胜!".format(self.computer.name))
self.computer.score += 1
if self.human.score > self.computer.score:
print("{}获得胜利!".format(self.human.name))
elif self.human.score < self.computer.score:
print("{}获得胜利!".format(self.computer.name))
else:
print("比赛结束,双方平局!")
human = HumanPlayer("小明")
computer = ComputerPlayer("电脑")
game = Game(human, computer)
game.play()
```
这段代码实现了一个简单的人物猜拳游戏,包括人类玩家和电脑玩家两种类型的玩家,以及游戏规则和胜负判断。
阅读全文