'''

Text For Class:

        League of Legends
Garen vs Riven vs Teemo ''' import random # 全局随机
import time class HeroName: # 英雄名字类
GameName = 'League of Legends' # 游戏名字
def __init__(self,hero_name): # 初始化设定,自身和形参名
self.hero_name = hero_name # 形参名初始化
self.HP = 800 # 血量初始化
if hero_name not in ['Garen','Riven','Teemo']: # 不是瑞文提莫盖伦
self.hero_name == 'Teemo' # 都为提莫
Teemo_HP = random.randint(100,250) # 提莫血量随机整数 全闭[100到250]
self.HP = Teemo_HP # 提莫血量赋名
self.__armor = 0 # 提莫格挡为0
self.__att = 1000 # 提莫攻击1000 elif hero_name == 'Teemo': # 提莫 HP 随机 100-250
Teemo_HP = random.randint(100, 250)
self.HP = Teemo_HP
self.__armor = 0 # 格挡 0
self.__att = 1000 # 攻击 1000 elif hero_name == 'Garen': # 盖伦 HP 800
self.__armor = 150 # 格挡 150
self.__att = 200 # 攻击 200 else : # 瑞文
self.__armor = 80 # 格挡 80 HP 800
self.__att = 300 # 攻击 300 @property
def armor_count(self):
return self.__armor def attack(self,enemy): n = 1
print('%s vs %s' % (self.hero_name, enemy.hero_name))
if self.hero_name == 'Teemo' or enemy.hero_name == 'Teemo':
print('Teemo必须死')
while True: if (enemy.HP > 0 and self.HP > 0):
print('----------------------------------')
print('第%s回合' %n) enemy.HP -= self.__att - enemy.armor_count
info_1 = self.hero_name,enemy.hero_name,enemy.hero_name,enemy.HP,self.hero_name,self.HP
print('%s攻击了%s,%s还剩%s滴血,%s还剩%s滴血'% info_1)
if enemy.HP > 0:
self.HP -= enemy.__att - self.armor_count
info_2 = enemy.hero_name, self.hero_name, self.hero_name, self.HP, enemy.hero_name, enemy.HP
print('%s反击了%s,%s还剩%s滴血,敌人%s还剩%s滴血' % info_2)
n += 1
# time.sleep(3)
else:
print('胜利,敌人%s已经阵亡' % enemy.hero_name)
break else:
print('你的角色%s已经阵亡' % self.hero_name)
break class Game: # 定义游戏类
name = 'League of Legends , Garen vs Riven vs Teemo' @classmethod # 能拿到类中定义的属性
def start(cls):
print('--- %s ---'% cls.name)
# League of Legends , Garen vs Riven vs Teemo H1 = HeroName('Garen')
H2 = HeroName('Riven')
H3 = HeroName('Teemo')
choose = random.randint(1,4)
if choose == 1:
enemy = H2.hero_name
# print('盖伦打瑞文')
H1.attack(H2) elif choose == 2:
enemy = H1.hero_name
# print('瑞文打盖伦')
H2.attack(H1) elif choose == 3:
H3 = HeroName('Teemo')
enemy = H1.hero_name
# print('提莫打盖伦')
H3.attack(H1) else:
H3 = HeroName('Teemo')
enemy = H3.hero_name
# print('盖伦打提莫')
H1.attack(H3) Game.start() # 游戏开始 '''
# -- (Problems in testing) ------------------------------------------------------------------------------------------
# -- (1.) ------------------------------------------------------------------------------------------------ # -- (import random *module) ----------------------------------------------------------------------------------------------
# -- (# auth code) ---------------------------------------------------------------------------------------------- import random # import random *module 声明随机模块
def auth_code(n): # 定义生成码函数,位形n 接 外实传n res=''
# 声明一个空字符串
# 因为下面随机出来一个是整型一个是字符串
# 在整型65,90中,把随机出来的数字通过内置chr,转换为ascii中对应的大写的A-Z,(97-122小写)
# 定义空字符串为了做字符串拼接 for i in range(n): # 循环范围传参
s1 = chr(random.randint(65,90)) # randint 大于等于65,小于等于90的整数,前闭后闭[65,90]
# 然后通过chr 转成ascii码对应的字符
# chr(65-90) 就是A-Z
# chr(97-122) 就是a-z # ord()函数主要用来返回对应字符的ascii码
# chr()主要用来表示ascii码对应的字符
# 可以用十进制,也可以用十六进制。 s2=str(random.randint(0,9))
# randint 大于等于0,小于等于9的整数,前闭后闭[0,9]
# 转成str字符串 res += random.choice([s1,s2]) # 二选一,现在输出都为字符串
# random.choice模块是通过[]列表的索引取值
# 每次循环结束都把结果 添加到定义的res空字符串中''字符串拼接 # 循环外界次数n次就循环n次,随机n次
return res # print(auth_code(9))
# res = 5U549I6H0... # ---- (Random Ex) ------------------------------------------------------------------------------------------------ # 1. # ascii:
# Capital(A-Z) for range(65,90)
# lower(a-z) for range(97,122) # Convert to ASCII code through Chr
# Then check result‘s type. s = random.randint(65, 90)
# 65|90|85|72
print(s,type(s))
# Enter --> s,int s = chr(s)
# s --> chr --> ascii
print(s,type(s))
# Enter --> s,str variable_name = random.choice([10,'25'])
print(variable_name)
# Enter -->
# case.1.Enter --> list[0,1] --> list[0] --> 10
# case.2.Enter --> list[0,1] --> list[1] --> '25' # res = random.choice(['x','y',random.randint(1,9)])
# print(res)
# Enter -->
# case.1.Enter --> list[0,1,2] --> list[0] --> 'x'
# case.2.Enter --> list[0,1,2] --> list[1] --> 'y'
# case.3.Enter --> list[0,1,2] --> list[2] --> random.randint(1,9) --> 1|2...|9 # ---------------------------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------------
'''

面向对象text 01 盖伦vs瑞文vs提莫的更多相关文章

  1. Codevs 2801 LOL盖伦的蹲草计划

    题目描述 Description 众所周知,LOL这款伟大的游戏,有个叫盖伦的英雄.他的伟大之处在于他特别喜欢蹲草丛阴人(XL:蹲草阴人也算英雄?!CZQ:没办法,个个都是这么玩的).某日,德玛西亚与 ...

  2. python面向对象基础-01

    面向对象(OOP)基本概念 前言 话说三国时期曹军于官渡大败袁绍,酒席之间,曹操诗兴大发,吟道:喝酒唱歌,人生真爽! 众将直呼:"丞相好诗",于是命印刷工匠刻板印刷以流传天下; 待 ...

  3. 076 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 01 Java面向对象导学

    076 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 01 Java面向对象导学 本文知识点:Java面向对象导学 说明:因为时间紧张,本人 ...

  4. java基础学习05(面向对象基础01)

    面向对象基础01 1.理解面向对象的概念 2.掌握类与对象的概念3.掌握类的封装性4.掌握类构造方法的使用 实现的目标 1.类与对象的关系.定义.使用 2.对象的创建格式,可以创建多个对象3.对象的内 ...

  5. 081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字

    081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字 本文知识点:new关键字 说明:因为时间紧张,本人写博客过程中只是 ...

  6. 080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则

    080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则 本文知识点:单一职责原则 说明:因为时间紧张,本人写博客过程中只是 ...

  7. 079 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 04 实例化对象

    079 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 04 实例化对象 本文知识点:实例化对象 说明:因为时间紧张,本人写博客过程中只是对知 ...

  8. 078 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 03 创建类

    078 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 03 创建类 本文知识点:创建类 说明:因为时间紧张,本人写博客过程中只是对知识点的关 ...

  9. 077 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 02 类和对象

    077 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 02 类和对象 本文知识点:类和对象 说明:因为时间紧张,本人写博客过程中只是对知识点 ...

随机推荐

  1. CHM文件命令转换成html

    在Windows下chm转换为html的超简单方法(反编译CHM文件的方法) 通过调用Windows命令,将chm 文件转换为html 文件. 方法: 命令行(cmd),输入hh -decompile ...

  2. Vue.js——60分钟快速入门(转)

    vue:Vue.js——60分钟快速入门 <!doctype html> <html lang="en"> <head> <meta ch ...

  3. 一道面试题引发对javascript事件循环机制(Event Loop)的 思考(这里讨论针对浏览器)

  4. this的四种用法

    函数运行时,自动生成的一个内部对象,只能在函数内部使用 随着函数使用场合的不同,this的值也发生着改变,但是有一个总原则:this指的是调用函数的那个对象(核心) 1.纯粹的函数调用 this指的是 ...

  5. 爬虫(五)requests模块2

    引入 有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们想要的目的,例如: #!/usr/bin/ ...

  6. angular6 safe url pipe

    safe-url.pipe.ts import { Pipe, PipeTransform } from '@angular/core'; import { DomSanitizer } from ' ...

  7. Centos7中网络及设备相关配置

    centos7中,不再赞成使用ifconfig工具,取而代之的是nmcli工具,服务管理也是以systemctl工具取代了service,这些之前版本的工具虽然在centos7中还可以继续使用,只是出 ...

  8. CentOS7系统上的GPSTK源码安装

    网址:http://www.gpstk.org/bin/view/Documentation/BuildingGPSTkUnderUnix 这里使用Cmake来安装源码,网站上的原文摘抄如下,有少部分 ...

  9. javaEE完整体系结构

    学习之前了解熟悉一下javaEE的完整体系结构会更有助于理解 https://segmentfault.com/a/1190000007090110

  10. 用HTML+CSS编写一个计科院网站首页的静态网页

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...