Python通过类实现剪刀石头布
时间: 2023-09-30 16:08:41 浏览: 80
可以使用Python中的类来实现剪刀石头布游戏。下面是一个简单的实现:
```python
import random
class Player:
def __init__(self, name):
self.name = name
self.score = 0
def choose(self):
i = int(input(f"{self.name}, 请出拳:(1-剪刀,2-石头,3-布)"))
while i < 1 or i > 3:
i = int(input("请重新输入:(1-剪刀,2-石头,3-布)"))
return i
def show_score(self):
print(f"{self.name}的得分为{self.score}")
class Game:
def __init__(self):
self.p1 = Player("玩家")
self.p2 = Player("电脑")
def play(self):
while True:
c1 = self.p1.choose()
c2 = random.randint(1, 3)
print(f"电脑出了{c2}")
if c1 == 1 and c2 == 3 or c1 == 2 and c2 == 1 or c1 == 3 and c2 == 2:
print("玩家胜利!")
self.p1.score += 1
elif c1 == c2:
print("平局!")
else:
print("电脑胜利!")
self.p2.score += 1
self.p1.show_score()
self.p2.show_score()
i = input("是否继续游戏?(y/n)")
if i == "n":
break
if __name__ == "__main__":
game = Game()
game.play()
```
在这个实现中,我们定义了两个类:`Player`和`Game`。`Player`类表示游戏中的玩家,包含了玩家的名称和得分。`choose`方法用来让玩家输入出拳的数字,`show_score`方法用来显示玩家的得分。`Game`类表示整个游戏的过程,包含两个`Player`对象。`play`方法用来执行游戏,并在每轮游戏结束后显示双方的得分。
阅读全文