python编写双人游戏
发布日期:2023-05-26 13:15:57 浏览次数:1 分类:技术文章

本文共 2068 字,大约阅读时间需要 6 分钟。

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

游戏规则:

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

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

注:转载请注明出处

转载地址:https://blog.csdn.net/m0_53697837/article/details/130471852 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Python编写定时提醒小工具(完整源码)
下一篇:python编写一个递归函数计算列表包含的元素数

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2023年06月10日 12时03分45秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章

登录linux后台工具,linux后台进程管理工具-supervisor 2019-12-16 13:07:49
linux删除zlib无法远程,linux zlib默认装在哪里 2019-12-16 13:07:49
linux停止mysql后又自己启动,Linux上 mysql启动/停止/重启/开机启动/开机禁止启动... 2019-12-16 13:07:49
从qspi启动linux时间,Zynq-Linux移植学习笔记(二十三)——QSPI速度配置 2019-12-16 13:07:49
linux 管道非阻塞,在Linux中管道上的非阻塞读取 2019-12-16 13:07:50
C语言随机字母生成,C++ 随机数字以及随机数字加字母生成的案例 2019-12-16 13:07:50
linux关机告诉用户,在Linux服务器关机前向用户显示一条自定义消息 2019-12-16 13:07:47
linux文件每行长度,linux – 根据第一列/行中的字符长度对文件进行排序 2019-12-16 13:07:48
linux使用世界时间,linux世界里的时间 2019-12-16 13:07:48
linux分区通俗讲解,linux硬盘分区基础及设备号的解释 2019-12-16 13:07:48
linux nat 端口,linux – iptables nat只是端口25? 2019-12-16 13:07:48
linux查询重复数据库,Linux如何使用locate命令查找数据搜索数据库 2019-12-16 13:07:48
linux高性能网络编程,Linux高性能网络编程的介绍 2019-12-16 13:07:49
oracle 跑旧的文件,移动datafile以后,旧的datafile是否还被Oracle使用 2019-12-16 13:07:46
oracle分页的使用,oracle中分页的实现方式.rownum的使用 2019-12-16 13:07:46
oracle hot patch david,Oracle EBS使用adpatch工具打patch过程(hotpatch mode) 2019-12-16 13:07:46
如何在空硬盘Linux系统,Linux系统如何新增一块硬盘 2019-12-16 13:07:46
Linux系统的快照是什么,linux – 文件系统快照与简单复制文件有何不同? 2019-12-16 13:07:47
debian linux忘记密码,debian ubuntu linux 忘记root密码的重置方法 2019-12-16 13:07:47
linux内核路由反向检查,Linux非对称路由 2019-12-16 13:07:47