前言

都说毁掉一个男生很简单,跟他说“世界上没有奥特曼。”

据说这一句话如同五雷轰顶。

一直以来,我都以为这只是一个玩笑的梗。但是无数事实证明,奥特曼真的很能“打”,堪称是男孩心中的白月光。

奥特曼对于一个男孩子有多重要?就看最近奥特曼发生的事儿—

《迪迦奥特曼》遭全网下架引热议!虽然最近部分上架了,但是大部分视频都是删减过后的!

不管是魔性表情包,还是五花八门的二次恶搞视频,亦或是奇奇怪怪的热搜话题,都不乏有奥特曼的影子。

比如说鬼畜的表情包,据说没有任何男人,可以拒绝奥特曼表情包——来自迪迦的肯定,胜过千言万语。

微博上还一度出现一个热搜话题#别给男生发任何奥特曼表情包#

​​

今天的话小编写的代码也跟奥特曼有关的啦——那就愉快的开始今天的奥特曼之旅吧!

正文

你相信光吗?

​(1)教大家写一款奥特曼文字游戏大战。

​附代码:

from abc import ABCMeta, abstractmethod
from random import randint, randrangeclass Fighter(metaclass=ABCMeta):"""战斗着"""__slots__ = ('_name', '_hp')def __init__(self, name, hp):"""初始化"""self._name = nameself._hp = hp@propertydef name(self):return self._name@propertydef hp(self):return self._hp@hp.setterdef hp(self, hp):self._hp = hp if hp >= 0 else 0@propertydef alive(self):return self._hp@abstractmethoddef attack(self, other):"""攻击:param other:被攻击对象"""passclass Ultraman(Fighter):"""奥特曼"""__slots__ = ('_name', '_hp', '_mp')def __init__(self, name, hp, mp):super().__init__(name, hp)self._mp = mpdef attack(self, other):other.hp -= randint(15, 25)def huge_attack(self, other):if self._mp >= 50:self._mp -= 50injury = other.hp * 3 // 4injury = injury if injury >= 50 else 50other.hp -= injuryreturn Trueelse:self.attack(other)return Falsedef magic_attack(self, others):if self._mp >= 20:self._mp -= 20for temp in others:if temp.alive > 0:temp.hp -= randint(10, 15)return Trueelse:return Falsedef resume(self):"""回复魔法值"""incr_point = randint(1, 10)self._mp += incr_pointreturn incr_pointdef __str__(self):return '---%s奥特曼---\n生命值:%d\n魔法值: %d\n' % (self._name, self._hp, self._mp)class Monster(Fighter):"""小怪兽"""__slots__ = ('_name', '_hp')def attack(self, other):other.hp -= randint(10, 20)def __str__(self):return '---%s小怪兽---\n生命值:%d\n' % (self._name, self._hp)def is_any_alive(monsters):"""判断有没有小怪兽是活着的"""for monster in monsters:if monster.alive > 0:return Trueelse:return Falsedef select_alive_one(monsters):"""选中一只活着的小怪兽"""monsters_len = len(monsters)while True:index = randrange(monsters_len)monster = monsters[index]if monster.alive > 0:return monsterdef display_info(ultreman, monsters):"""显示小怪兽和奥特曼的信息"""print(ultreman)for monster in monsters:print(monster, end='')def main():u = Ultraman('迪迦奥特曼', 1000, 120)m1 = Monster('哥斯拉', 250)m2 = Monster('贝利亚', 400)m3 = Monster('杰顿', 300)ms = [m1, m2, m3]fight_round = 1while u.alive > 0 and is_any_alive(ms):print("===========第%02d回合==========" % fight_round)m = select_alive_one(ms)  # 选中一只怪兽skill = randint(1, 10)  # 通过随机数选择使用哪种技能if skill <= 6:  # %60的概率普通攻击print('%s 使用了普通攻击打了 %s' % (u.name, m.name))u.attack(m)elif skill <= 9:  # 30%的几率使用魔法攻击,可能因为魔法不足而失败if u.magic_attack(ms):print('%s 使用了魔法攻击' % u.name)else:print('%s 使用了魔法失败' % u.name)else:  # 10%的几率使用终极必杀if u.huge_attack(m):print('%s 使用终极必杀技虐了 %s' % (u.name, m.name))else:print('%s 使用了普通攻击打死了 %s' % (u.name, m.name))print('%s 的魔法值恢复了 %d' % (u.name, u.resume()))if m.alive:  # 如果选中小怪兽没死就回击奥特曼print('%s 回击了 %s' % (m.name, u.name))m.attack(u)display_info(u, ms)fight_round += 1print('\n=======战斗结束=======\n')if u.alive:print('%s 奥特曼胜利!' % u.name)else:print('小怪兽胜利!')

效果如下:​

(2)教大家写一款小怪兽打奥特曼的小游戏。

附代码:

class Monster(object):def __init__(self,name,energy):self.name = nameself.energy = energyif self.energy>=100:print(self.name+"满血战斗")else:print(self.name+"目前有"+str(self.energy)+"的血量")print("警告:"+self.name+"需要补血")def eat(self,energy):if self.energy<=100:for i in range(10,100,10):self.energy += energy #执行吃的语句,吃就+10,如果>100,就不吃了           print("正在补血.....")print(self.name+"现在有"+str(self.energy)+"的血量")class Ultraman(object):def __init__(self,name,alk):self.name = nameself.alk = alkreturn def beat(self,other,c):other.energy =other.energy-c*self.alkif other.energy<=0:print(self.name+"攻击"+other.name+str(c)+"次")print("完了"+self.name+"成功打死"+other.name)else:print(self.name+"攻击"+other.name+str(c)+"次")print("很遗憾"+self.name+"没有打死"+other.name)M1=Monster('雷欧奥特曼',99)M1.eat(10)
U1=Ultraman('小怪兽',999)
U1.beat(M1,1)

效果如下:

噗~奥特曼打不赢小怪兽貌似这很少哈,不过电视里面都是不管怎样艰苦,奥特曼最终都会打赢小怪兽滴!

(3)最后教大家写一个简单的奥特曼卡通可可爱爱的绘图。

效果展示:是不是很可爱,变成了人畜无害的Q版卡通画

是想把怪兽萌死吗?哈哈哈~

小结

千万不要和男生说:世界上没有奥特曼,否则你会见识到真正的奥特曼。相关推荐

  1. AI一分钟 |世界上第一个无人驾驶出租车在迪拜投入使用,2030年无人驾驶将覆盖迪拜25%的交通行程

    整理 | 明明 一分钟AI 证监会为包括人工智能在内的4个行业开辟IPO快速通道:生物科技.云计算.人工智能.高端制造 南方财经联合科大讯飞推出"人工智能语音主持人"3月1日正式上 ...

  2. 世界上本没有架构,建设的需求多了便有了架构

    世界上本没有架构,建设的需求多了便有了架构 作者:刘海锋 , 编辑:林师授 , 51CTO技术栈 整编 本文选自<CTO说>,你不能不看的CTO养成记. 架构这个词,源于建筑学,它基本的架 ...

  3. 他是世界上最杰出的程序员,一个月写了个操作系统,退休后去做飞行员!

    作者 | Mr.K 来源 | 技术领导力(ID:jishulingdaoli) 1983 年,美国计算机协会将图灵奖授予肯·汤普森和与丹尼斯·里奇. 获奖理由是:"For their dev ...

  4. 2016第18本:世界上最简单的会计书

    从周叶的微信公众号zyea_com中发现了这本书<世界上最简单的会计书>,自己也听说过资产负债表.损益表和现金流量表等名词,但从来没搞清楚过这些表格的意思.所以读此书的目的是想着理财过程中 ...

  5. Python第一天:你必须要知道的Python擅长领域以及各种重点学习框架(包含Python在世界上...

    [toc] 今天开始将会发布系列型的Python学习, 今天讲述的框架相对来说比较多,只能一一例举出来, 无法进行准确的 Python5大擅长领域 很多学Python的小伙伴, 转行, 或者兴趣还有就 ...

  6. 华为,15万大军孤独行走在世界上

     华为,15万大军孤独行走在世界上 2015-09-11 06:54 阅读(1900)评论(3)编辑删除 "一个民族,一个国家,一家企业的兴亡盛衰,关键在于组织中的个体与群体是否具备充沛 ...

  7. 世界上有三样东西不能相信(引用)心胸狭窄的男人勿看

    一个很透析的分析,希望给尚未做出选择的女性朋友一个借鉴,同时也是给已经选择的朋友一个告诫.呵呵,男人真的是这样吗?核实一下吧!!!       世界上有三样东西不能相信:男人的承诺.男人的感情.男人的 ...

  8. 世界上没有一模一样的东西_世界上存在两根同时点燃同时燃尽一模一样的蜡烛吗?...

    有人问:从科学角度来说,如果有两根一模一样的蜡烛,同时点燃,它们会同时燃尽吗?时空通讯很明确地回答:不会. 这个事物如果从两个方面来看,会得出两种不同的结果. 如果只是按照生活常识,并不严谨对待&qu ...

  9. 很感人的爱情故事——世界上最遥远的距离

    很感人的爱情故事--世界上最遥远的距离 他对她一见钟情. 他跟她是大学同届同系不同班的同学,在大一新生报道那天,几千名新生排队等候办理注册,他穿者蓝色格子衬衫,恰巧排在她后方,从那天起他就对她一见钟情 ...

最新文章

  1. A novel evolutionary model for constructing gene coexpression networks with comprehensive features
  2. How to become the truely yourself?
  3. 【产品经理求职攻略】10年产品人经验分享
  4. python程序设计基础电子版_Python 程序设计基础(董付国 著)完整版PDF[6MB]
  5. LFS安装ifconfig命令
  6. 1w存银行一年多少利息_利息能拿上万?银行行长:20万存款这样存,一年躺着白白赚一万!...
  7. Android 中.aar文件生成方法与用法
  8. java文本区水平对齐方式,如何将文本居中在水平StackLayout中?
  9. html a div,为div设置类a与b,应编写HTML代码(??)
  10. ios java 加密_AES加密 - iOS与Java的同步实现
  11. 8086的内中断典型如int 21h的分析
  12. UDP穿越NAT原理(p2p)
  13. 苹果爸爸发飙,封杀 React Native?
  14. 编程基本功:以输入法为例,谈谈测试案例的设计
  15. Junglescout 正版账号共享 亚马逊卖家选品必备软件 junglescout插件同步升级
  16. 基于SK6812编码LED实现炫光功能(PWM+DMA功能MCU兼容)
  17. 林业局计算机考试试题,汕头市农业局林业局计算机信息网络安全保护管理制度...
  18. 给出问题一个临时解决方案(110224)
  19. 微前端框架 之 single-spa 从入门到精通
  20. ERNIE: Enhanced Language Representation with Informative Entities

热门文章

  1. 手机端-万种bt在线观看器,安卓正版下载!
  2. 捕获计算机屏幕++方法,在Win10中获取屏幕截图的五大方法
  3. Datastage常用组件使用方法(详尽版)
  4. datastage odbc mysql_DataStage 三、配置ODBC
  5. 数据压缩第二周作业——图片TIFF格式分析
  6. arduino nano原理图_三种常用的Arduino开发板
  7. 读《人生的智慧》——叔本华
  8. ldpc译码讲解_LDPC 译码问题
  9. marketch直接生成html,Marketch 用法
  10. 自控实验——直流电机转速设计实验报告