--------------------------------------Python初学者 学习历程分享------------------------------------

小游戏-双人决战之狄仁杰大战程咬金

游戏规则:开始两人满血为100,程序会根据用户输入数字来执行输出对应结果,最终有一人血量为零则游戏结束
------------提示--------------
输入 ‘1’ 代表狄仁杰进攻
输入 ‘2’ 代表程咬金进攻
输入 ‘3’ 代表程咬金回血
输入 ‘4’ 代表狄仁杰回血

小游戏是我刚学习到面向对象编写的,有不足之处还望见谅。

代码如下

# 创建一个英雄类
class Person():def __init__(self,name,hp):'''初始化英雄'''self.name=nameself.hp=hppassdef __str__(self):#这个函数作用是:在我们输出实例名称的时候,显示出我们想要的格式return '{}的血量还剩下{}'.format(self.name,self.hp)
#普通攻击函数def small_kill(self, name):'''普通攻击:param name: 被攻击对象:return:'''name.hp -= 10 #血量减10print('{}普通攻击了{}'.format(self.name, name.name))print(self, ' ', name)  #输出剩余血量pass
#大招攻击函数def big_kill(self, name):'''大招攻击:param name::return:'''name.hp -= 20print('{}大招攻击了{}'.format(self.name, name.name))print(self, ' ', name)pass
#回血函数def reback(self):'''恢复血量:return:'''self.hp += 10print('{}吃了一瓶药水,恢复了10滴血'.format(self.name))print(self)passpassCYJ=Person('程咬金',100)#创建实例对象
DRJ=Person('狄仁杰',100)
print('----------游戏开始啦-----------')
print('注明:\n’1’代表狄仁杰进攻\n‘2’代表程咬金进攻\n‘3’代表程咬金回血\n‘4’代表狄仁杰回血')
count=1
while CYJ.hp>0 or DRJ.hp>0:#判断条件,当一方血量为零时,游戏结束userIn=int(input('请输入数字 1 , 2, 3, 4:'))if userIn==1:#用户输入1,狄仁杰攻击DRJ.big_kill(CYJ)print('------第{}回合结束------'.format(count))if CYJ.hp <= 0 or DRJ.hp <= 0:print('------游戏结束------')breakpasscount += 1print('------第{}回合开始------'.format(count))passelif userIn==2:#用户输入2,程咬金攻击CYJ.small_kill(DRJ)print('------第{}回合结束------'.format(count))if CYJ.hp<=0 or DRJ.hp<=0:print('------游戏结束------')breakpasscount += 1print('------第{}回合开始------'.format(count))passelif userIn==3:#用户输入3,程咬金回血CYJ.reback()continuepasselif userIn==4:#用户输入4,狄仁杰回血DRJ.reback()continuepasselse:print('输入错误,请重新输入')continuepass

游戏效果如下:

Python初学者-双人对战小游戏相关推荐

  1. Python编写人机对战小游戏(抓狐狸)(2)

    封面图片:<中学生可以这样学Python>,董付国.应根球著,清华大学出版社 =========== 很久很久以前,在公众号里推送过一个抓狐狸游戏,详见Python编写人机对战小游戏(抓小 ...

  2. 51单片机系列(三)51 单片机游戏设计 —— 双人对战小游戏(石头剪刀布)

    本博客51单片机实训系列,旨在记录本人在大学上单片机技术这门课时所做的课程实训内容,并与大家分享基于51单片的课程作业,如果作业中的某些细节和代码能给大家一点启发那就更好了,希望大家能用51单片机做出 ...

  3. Python编写人机对战小游戏(抓小狐狸)

    本文内容来源:本来是在微信群里国防科技大学刘万伟老师发了一个算法题目大家玩,然后和中国传媒大学胡凤国老师一起交流了好几天,后来我突发灵感,改写了个小游戏.微信公众号发文时作者最多只能是8个字,刘万伟老 ...

  4. python自学 适合新手的 python人机对战小游戏

    目录 前言 一,游戏规则 二,游戏拆解: 版本1.0(自定属性,人工PK) 版本2.0(随机属性,自动PK) 版本3.0(打印结果,三局两胜) 前言 有很多人问,怎样学python可以进步最快,我回顾 ...

  5. 利用Python做一个简单的对战小游戏

    利用Python做一个简单的文字对战小游戏 一.游戏介绍 1.大体介绍:文字版的对战小游戏,可以利用Python随机生成两个角色,角色带有各自的血量和攻击值两个指标.两人在对战时同时攻击对方,同时造成 ...

  6. python联机游戏制作_Python练习01-对战小游戏

    Python练习01-对战小游戏 近期在学习Python,其中有一道练习题,写一个对战小游戏,随机人物,随机属性(血量.攻击).指定我方人物出场顺序,三局两胜,代码如下: import time, r ...

  7. python王者战斗_Python3 类与对象之王者荣耀对战小游戏

    王者荣耀对战小游戏 # 定义英雄: 亚瑟 class Arthur: hero_type = 'Tank' def __init__(self, attack_value=164, armor=98, ...

  8. python面向对象实例王者荣耀_Python3 类与对象之王者荣耀对战小游戏

    王者荣耀对战小游戏 # 定义英雄: 亚瑟 class Arthur: hero_type = 'Tank' def __init__(self, attack_value=164, armor=98, ...

  9. 学生学python编程---实现贪吃蛇小游戏+源码

    学生学python编程---实现贪吃蛇小游戏+源码 前言 主要设计 1.蛇的表示 2.蛇怎么移动? 3.玩家控制小蛇移动功能的实现 4.如何判定游戏结束? 应用知识点 1.python知识点 1.1 ...

最新文章

  1. 怎么成为优秀的软件模型设计者?
  2. 【Android FFMPEG 开发】Android 中执行 FFMPEG 指令 ( 集成 FFmpegAndroid 框架 )
  3. 推荐:周志华《机器学习》西瓜书精炼版笔记来了!
  4. 较简单的字节输入流输出流拷贝文件
  5. ng-notadd 0.10.1,基于 Angular7 和 material2 的中后台解决方案
  6. STM32之DAC原理
  7. ionic打包中的那些坑
  8. java compiler = null_Java Compiler command()方法
  9. Masonry 在swift下的使用
  10. 一建机电实务教材电子版_一建案例学不透?新版一建机电案例一本通,6大模板案例高清讲解...
  11. stm8用什么软件编程?stm8开发环境搭建手把手教程!
  12. pillow软件 Android,Pillow自动睡眠追踪
  13. 传统方法车道线标注及相关知识
  14. php公众号关注自动回复内容,微信公众号自动回复内容大全集锦
  15. Docker 5分钟搭建web服务器
  16. U盘中病毒,文件夹变成exe文件
  17. 从零开始编写minecraft光影包(1)基础阴影绘制
  18. IoT僵尸网络Miori通过ThinkPHP远程代码执行漏洞进行传播
  19. Python读取docx表格中的合并单元格信息
  20. Android JNI --函数调用大全

热门文章

  1. 阿里ESAM:用迁移学习解决召回中的样本偏差
  2. CPU卡程序设计实例(二十六)卡和ESAM之间外部认证
  3. 使用ROS2机器人操作系统进行多机器人编程技术实践(Multi-Robot Programming Via ROS2 )
  4. CADTooLs v6.0 for Solidedge-ISO 1CD(欧磊零件库)
  5. 程序设计思维与实践 Week8 作业 C - 班长竞选
  6. 实时数仓之 Kappa 架构与 Lambda 架构(建议收藏!)
  7. 【经验】使用Java控制kiftd网盘服务器并实现定时导入文件功能
  8. python 计算一个字符串中所有数字的和
  9. Socket通信客户端报错Connection reset
  10. 特斯拉线圈自身谐振现象