小编给大家准备了一个简单的双人游戏的示例代码,这个游戏叫做“石头剪刀布”。
游戏规则:
1. 玩家1和玩家2轮流出拳,可以选择石头、剪刀或布。
2. 石头胜剪刀,剪刀胜布,布胜石头。
3. 每轮游戏结束后,显示双方出拳和胜负结果。
4. 游戏结束后,显示双方的总胜利次数。
下面是代码实现:
import random
# 定义游戏规则
rules = {'rock': 'scissors', 'scissors': 'paper', 'paper': 'rock'}
# 定义玩家类
class Player:
def __init__(self, name):
self.name = name
self.score = 0
def choose(self):
# 玩家出拳
choice = input(f"{self.name}, please choose rock, scissors or paper: ")
while choice not in rules:
choice = input(f"{self.name}, please choose rock, scissors or paper: ")
return choice
def win(self):
# 胜利时分数加1
self.score += 1
print(f"{self.name} wins!")
def lose(self):
print(f"{self.name} loses!")
def draw(self):
print("Draw!")
# 定义游戏类
class Game:
def __init__(self):
self.player1 = Player("Player 1")
self.player2 = Player("Player 2")
def play(self):
# 游戏开始
print("Game start!")
while True:
# 玩家1出拳
p1_choice = self.player1.choose()
# 玩家2出拳
p2_choice = self.player2.choose()
# 判断胜负
if rules[p1_choice] == p2_choice:
self.player1.win()
self.player2.lose()
elif rules[p2_choice] == p1_choice:
self.player2.win()
self.player1.lose()
else:
self.player1.draw()
self.player2.draw()
# 显示当前得分
print(f"Current score: {self.player1.name} {self.player1.score} : {self.player2.score} {self.player2.name}")
# 判断是否结束游戏
if self.player1.score == 3 or self.player2.score == 3:
break
# 游戏结束
print("Game over!")
if self.player1.score > self.player2.score:
print(f"{self.player1.name} wins!")
elif self.player2.score > self.player1.score:
print(f"{self.player2.name} wins!")
else:
print("Draw!")
# 开始游戏
game = Game()
game.play()
运行代码后,你可以看到游戏开始,然后玩家1和玩家2轮流出拳,直到有一方获得3次胜利为止,最后显示胜利者。
最后,希望大家多多支持!
注:转载请注明出处