王者荣耀对战小游戏

# 定义英雄: 亚瑟
class Arthur:
hero_type = 'Tank' def __init__(self, attack_value=164, armor=98, life_value=3622, money=1000):
self.attack_value = attack_value
self.armor = armor
self.life_value = life_value
self.money = money # 普攻
def attack(self, enemy):
damage_value = self.attack_value - enemy.armor
enemy.life_value -= damage_value # 定义英雄: 鲁班七号
class LubanN07:
hero_type = 'ADC' def __init__(self, attack_value=174, armor=88, life_value=3401, money=1000):
self.attack_value = attack_value
self.armor = armor
self.life_value = life_value
self.money = money # 普攻
def attack(self, enemy):
damage_value = self.attack_value - enemy.armor
enemy.life_value -= damage_value # 定义装备: 暗影战斧
class ShadowBattleAxe:
def __init__(self, price=500, attack_value=85, armor=50, life_value=400):
self.price = price
self.attack_value = attack_value
self.armor = armor
self.life_value = life_value def update(self, obj):
obj.money -= self.price # 减钱
obj.attack_value += self.attack_value # 加攻击
obj.armor += self.armor # 加防御
obj.life_value += self.life_value # 加生命值 # 装备的主动技能
def fire(self, obj):
damage_value = 1000 - obj.armor # 火焰攻击为1000
obj.life_value -= damage_value DBJ = Arthur()
XLB = LubanN07()
AXE = ShadowBattleAxe() print('DBJ:', DBJ.hero_type, DBJ.attack_value, DBJ.armor, DBJ.life_value)
print('XLB:', XLB.hero_type, XLB.attack_value, XLB.armor, XLB.life_value) while True: # 装备可多次购买
if XLB.money >= AXE.price:
# 装备提升属性
AXE.update(XLB)
XLB.AXE = AXE # 普攻
XLB.attack(DBJ)
# 装备技能伤害
XLB.AXE.fire(DBJ)
print(f'XLB attacked DBJ! life value of DBJ: {DBJ.life_value}')
if DBJ.life_value <= 0:
print('XLB WIN!')
break # 普攻
DBJ.attack(XLB)
print(f'DBJ attacked XLB! life value of XLB: {XLB.life_value}')
if XLB.life_value <= 0:
print('DBJ WIN!')
break

DBJ: Tank 164 98 3622

XLB: ADC 174 88 3401

XLB attacked DBJ! DBJ life value: 2559!

DBJ attacked XLB! XLB life value: 3775!

XLB attacked DBJ! DBJ life value: 1411!

DBJ attacked XLB! XLB life value: 4199!

XLB attacked DBJ! DBJ life value: 263!

DBJ attacked XLB! XLB life value: 4223!

XLB attacked DBJ! DBJ life value: -885!

XLB WIN

Python3 类与对象之王者荣耀对战小游戏的更多相关文章

  1. PYTHON-面向对象-练习-王者荣耀 对砍游戏

    # 王者荣耀 对砍游戏# 两个英雄可以对砍 如果血量小于等于0 就GG# 所需的对象# 英雄对象""" 亚瑟 属性 类型 血量 名称 技能 Q 跳起来给你一刀 伤害50 ...

  2. python3 类、对象的基础概念

    类:具有相同特性和方法的抽象概念称为类 对象:从类中具体描述的一个事物称为对象 类和对象的关系:类是对象的抽象概念,对象是类的具体实例 class test001: #创建类 def __init__ ...

  3. java类与对象的动手动脑和其他小问题

    在Java中,我们可以通过组合一私有字段和一对get/set方法来定义一个属性.私有的变量,共有的方法. package sample; /** * 自定义Java类的示例 */ class MyCl ...

  4. Python3 类与对象

    目录 面向对象基础 面向过程编程 面向对象编程 类 什么是类 如何定义类 类的基本操作 对象 实例化对象 对象添加特有属性 对象与类的查找顺序 对象的绑定方法 面向对象基础 面向过程编程 面向过程的核 ...

  5. 屏幕坐标和世界坐标的转换+对象池技术(3D打地鼠小游戏)

    游戏中可能经常会遇到需要某个物体跟着鼠标移动,然后又需要把物体放在某个鼠标指定的位置 实现方式 Camera.main.WorldToScreenPoint Camera.main.ScreenToW ...

  6. python3.x 类和对象

    python同样支持类和对象.在python3.x中没有了经典类,只有新式类,默认创建的就是新式类.具体的新式类与经典类的不同在python3.x中已经没有意义了. 类的定义和实例化 python定义 ...

  7. (08)-Python3之--类和对象

    1.定义 类:类是抽象的,一类事物的共性的体现.  有共性的属性和行为. 对象:具体化,实例化.有具体的属性值,有具体做的行为. 一个类 对应N多个对象. 类包含属性以及方法. class 类名: 属 ...

  8. python 面向对象之封装与类与对象

    封装 一,引子 从封装本身的意思去理解,封装就好像是拿来一个麻袋,把小猫,小狗,小王八,小老虎一起装进麻袋,然后把麻袋封上口子.照这种逻辑看,封装='隐藏',这种理解是相当片面的 二,先看如何隐藏 在 ...

  9. 王者荣耀是怎样炼成的(一)《王者荣耀》用什么开发,游戏入门,unity3D介绍

    在国内,如果你没有听说过<王者荣耀>,那你一定是古董级的人物了. <王者荣耀>(以下简称“农药”),专注于移动端(Android.IOS)的MOBA游戏.笔者看到这么火爆,就萌 ...

随机推荐

  1. Fuzzy模糊推导(Matlab实现)

    问题呈述 在模糊控制这门课程中,学到了与模糊数学及模糊推理相关的内容,但是并不太清楚我们在选择模糊规则时应该如何处理,是所有的规则都需要由人手工选择,还是仅需要选择其中的一部分就可以了.因此,在课程示 ...

  2. TestNg练习001

    15分钟入门TestNG 阅读目录 TestNG介绍 在Eclipse中在线安装TestNG 在Eclipse中离线安装TestNg TestNG最简单的测试 TestNG的基本注解 TestNG中如 ...

  3. 分享一个撩妹、装13神技能,0基础用Python暴力破解WiFi密码

    WiFi密码Python暴力破解   Python密码破解部分截图 获取视频资料,转发此文+点击喜欢,然后获取资料请加Python交流群:580478401,就可以获取视频教程+源码 环境准备: py ...

  4. mysqldump工具实现mysql数据库的备份还原

    简介 冷.温.热备份 冷备:读写操作均不可进行 温备:读操作可执行:但写操作不可执行 热备:读写操作均可执行 MyISAM:温备,不支持热备 InnoDB:都支持 不管是热备还原还是冷备还原,还原时都 ...

  5. no matches for kind "Deployment" in version "extensions/v1beta1"

    0x00 Problem [root@k8sm90 demo]# kubectl create -f tomcat-deployment.yaml error: unable to recognize ...

  6. 最全 HTTP 安全响应头设置指南

    销售“安全记分卡”的公司正在崛起,并已开始成为企业销售的一个因素.这些公司组合使用 HTTP 安全报头和 IP 信誉来进行评级.不过,在很大程度上,公司的得分取决于对外开放网站上设置的安全响应报头.本 ...

  7. 【日常错误】Could not initialize class org.hibernate.validator.internal.engine.ConfigurationImpl

    最近在用spring-boot编写一个Lucene项目,中间用到了redis,引用了spring-boot-starter-data-redis,在eclipse中用外部Tomcat启动项目一切正常, ...

  8. 2753:走迷宫(dfs+初剪)//可以说是很水了。。。

    总时间限制:  1000ms 内存限制:  65536kB 描述 一个迷宫由R行C列格子组成,有的格子里有障碍物,不能走:有的格子是空地,可以走.给定一个迷宫,求从左上角走到右下角最少需要走多少步(数 ...

  9. 最小化安装CentOS 7 系统

    目录 CentOS 程序准备 开始安装系统 创建虚拟机 安装系统 CentOS 运维最常接触的系统就是CentOS系统,无论是版本 6 还是版本 7 而且在安装系统时,讲究最小化安装系统,之后当需要什 ...

  10. java 小程序分析:参数传递

    public class Test{ public static void main (String [] ABC){ StringBuffer a = new StringBuffer(" ...