Python—实操小实验之人机PK游戏(终极版本—应用类与对象的知识点应用)

人机PK游戏所需要的基础元素如下:
①要有玩家、敌人、生命值、攻击力,还要有计分;
②要可以互相进行攻击,攻击之后生命值要相应的减少;
③最后依据分数分出胜负结果。

终极版本中:
主要用到的知识点是:将函数进行封装打包,成为类;
不同角色的属性要有所差异,角色之间增加相互克制的类方法;
当玩家输入角色出场顺序时有误,要提醒玩家重新输入;
仍然与初级版本一样,对战,计分,分胜负。

#导入必要的包
import random
import time#创建一个类来实例化具体的游戏角色
class Role():def __init__(self,name):self.name = nameself.life = random.randint(100,150)self.attack = random.randint(30,50)#运用继承创造子类,实例化3个不同的角色类型
class Knight(Role):def __init__(self,name = '【圣光骑士】'):Role.__init__(self,name)self.life = int(self.life*1.5)          #对指定角色加属性值self.attack = int(self.attack*0.8)def fight_buff(self,opponent,str1,str2):        #设定角色的克制关系if opponent.name =='【暗影刺客】':           #如果遇到暗影刺客,那么攻击在原基础上再增加1.5倍self.attack = self.attack*1.5print('{}【圣光骑士】对{}【暗影刺客】有压制作用'.format(str1,str2))class Assassin(Role):def __init__(self,name = '【暗影刺客】'):Role.__init__(self,name)self.life = int(self.life*0.8)self.attack = int(self.attack*1.5)def fight_buff(self,opponent,str1,str2):if opponent.name =='【精灵弩手】':self.attack = self.attack*1.5print('{}【暗影刺客】对{}【精灵弩手】有压制作用'.format(str1,str2))class Bowman(Role):def __init__(self,name = '【精灵弩手】'):Role.__init__(self,name)self.life = int(self.life*1.2)self.attack = int(self.attack*1.2)def fight_buff(self,opponent,str1,str2):if opponent.name =='【圣光骑士】':self.attack = self.attack*

Python—实操小实验之人机PK游戏(终极版本—应用类与对象的知识点应用)相关推荐

  1. 小马同学 学习python实操的第一天

    学习python实操的第一天 第一个实操案例 任务1:向文件输出"一段属于你自己的话" ##方法一 fp= open('d:/test.txt','w') ##open('文件存储 ...

  2. PSM倾向得分匹配法【python实操篇】

    前言 大家好,我是顾先生,PSM倾向性得分匹配法的Python代码实操终于来啦! ​ 对于PSM原理不太熟悉的同学可以看看前一篇文章:PSM倾向得分匹配法[上篇:理论篇] 目前网上PSM实操的相关文章 ...

  3. RabbitMQ第五个实操小案例——主题交换机(TopicExchange)

    文章目录 RabbitMQ第五个实操小案例--主题交换机(TopicExchange) RabbitMQ第五个实操小案例--主题交换机(TopicExchange) TopicExchange 和 D ...

  4. RabbitMQ第四个实操小案例——DirectExchange

    文章目录 RabbitMQ第四个实操小案例--DirectExchange RabbitMQ第四个实操小案例--DirectExchange DirectExchange:这种交换机的模式跟前面的Fo ...

  5. 【Python 实操】labelImg标注的xml格式转换为yolo的txt文件

    [Python 实操]labelImg标注的xml格式转换为yolo的txt文件 背景 YOLO家族开枝散叶(尤其是YOLOv5)的广泛应用就涉及到图像的标注与文件格式转换,常用的标注工具有 Labe ...

  6. python实操训练300题_如何练习python?有这五个游戏,实操经验就已经够了

    原标题:如何练习python?有这五个游戏,实操经验就已经够了 现在学习python的人越来越多了,但仅仅只是学习理论怎么够呢,如何练习python?已经是python初学者比较要学会的技巧了! 其实 ...

  7. python实操题_Python100道练习题,光看不练假把式,Python实操资源

    Python数学计算,编程练习题实例一 Python数轴.长整型,编程练习题实例二 Python完全平方数,编程练习题实例三 Python日期计算,编程练习题实例四 Python整数顺序排列,编程练习 ...

  8. Python实操模拟题

    实操题 1.Redis数据库操作 阅读下列说明及运行结果, 打开"考生文件夹\10002"文件夹中的素材,阅读代码,在空(1)至(10)处填写正确代码,操作完成后保存素材. 该题是 ...

  9. git按照tag拉取代码_Git实操小课堂

    平时也多是使用 IDEA 自带的 Git 插件,简单又方便,不需要理解 Git 背后的技术,最近突然让我在 VsCode 上更新提交代码,发现又需要学习 VsCode 的插件使用,思量一番后,决定好好 ...

最新文章

  1. jQuery 实现 select模糊查询 反射机制
  2. deLPHI书籍名称
  3. 数据结构(十二)动态规划
  4. 蒙了吗?offsetLeft、offsetWidth、scrollTop、scrollWidth、event.pageX
  5. mybatis-plus中like的使用说明
  6. dp----最少硬币问题
  7. android获取有线、wifi、3G(4G)的IP
  8. windows查看GPU使用信息
  9. 第一部分 第四章 1059-1101 答案合集
  10. 韩顺平Java自学笔记 集合
  11. excel导入sqlsever
  12. 品搜妞——百度、谷狗、搜狗的女人三围
  13. 程序员须学计算机语言,新手程序员需要学什么编程语言
  14. C语言 日历查询系统 成品
  15. 第六章 服务熔断器Hystrix
  16. 华工2018计算机接口技术大作业,2018华工接口技术课后作业
  17. 给水排水计算机应用课件,计算机在给排水工程中的应用课件.ppt
  18. 微信第三方平台uni-app配置ext.json
  19. *.pvr.ccz文件还原成png格式
  20. python也可以成为贴心小管家--每日播报考研倒计时、天气情况、还有“营养鸡汤”

热门文章

  1. Android之获取、设置EditText的文本...
  2. SQL SERVER YEAR函数
  3. python安装sqlite_SQLite 安装
  4. Zedboard:仿真
  5. BBC神作:半导体如何改变世界
  6. html代码老是记不住怎么办,几个老爱忘记的html标签
  7. 适合编程开发用的宋体和新宋体
  8. MyBatisPlus又在搞事了!发布神器,一个依赖轻松搞定权限问题!
  9. Teamviewer 开机启动
  10. java hbase 查询优化_HBase的优化