python编写双人游戏

小编给大家准备了一个简单的双人游戏的示例代码,这个游戏叫做“石头剪刀布”。

游戏规则:

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次胜利为止,最后显示胜利者。

最后,希望大家多多支持!

注:转载请注明出处

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值