Python小案例:回合制奥特曼打怪兽游戏

from abc import ABCMeta, abstractmethod
from random import randint, randrange
import timeclass Fighter(object, metaclass=ABCMeta):"""战斗者"""# 通过__slots__魔法限定对象可以绑定的成员变量__slots__ = ('_name', '_hp')def __init__(self, name, hp):"""构造器:param name: 名字:param 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@propertydef alive(self):return self._hp > 0@abstractmethoddef attack(self, other):"""攻击:param other:被攻击的对象:return:"""passclass Ultraman(Fighter):"""奥特曼"""__slots__ = ('_name', '_hp', '_mp')def __init__(self, name, hp, mp):"""构造器:param name: 名字:param hp: 生命值:param mp: 魔法值"""super().__init__(name, hp)self._mp = mpdef attack(self, other):other.hp -= randint(15, 25)def huge_attack(self, other):"""究极必杀技(打掉对方至少50滴血或者四分之三):param other: 被攻击对象:return: 使用必杀技成功返回True否则返回False"""if self._mp >= 50:self._mp -= 50injury = other.hp * 3 // 4if injury >= 50:injury = injuryelse:injury = 50other.hp -= injuryreturn Trueelse:self.attack(other)return Falsedef magic_attack(self, others):"""魔法攻击:param others: 被攻击的群体:return: 使用魔法成功返回True 不成功False"""if self._mp >= 20:self._mp -= 20for temp in others:if temp.alive: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' % self._name + \'生命值:%d\n' % self._hp + \'魔法值:%d\n' % self._mpclass Monster(Fighter):"""小怪兽"""__slots__ = ('_name', '_hp')def attack(self, other):other.hp -= randint(10, 20)def __str__(self):return '~~~%s小怪兽~~~\n' % self._name + \'生命值:%d\n' % self._hpdef is_any_alive(monsters):"""判断有没有小怪兽是活着的"""for monster in monsters:if monster.alive > 0:return Truereturn 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(ultraman, monsters):"""显示奥特曼和小怪兽的信息"""print(ultraman)for monster in monsters:print(monster, end=' ')def main():u = Ultraman('她与断剑', 1000, 120)m1 = Monster('哥斯拉', 250)m2 = Monster('大白鲨', 500)m3 = Monster('苍井空', 750)ms = [m1, m2, m3]fight_round = 1while u.alive 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)print('%s的魔法值回复了%d点' % (u.name, u.resume()))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))u.attack(m)print('%s的魔法值回复了%d点' % (u.name, u.resume()))if m.alive > 0:print('%s回击了%s' % (m.name, u.name))m.attack(u)display_info(u, ms)  # 每个回合结束后显示奥特曼和小怪兽的信息fight_round += 1time.sleep(3)print('\n========战斗结束!========\n')if u.alive > 0:print('%s奥特曼胜利' % u.name)else:print('小怪兽胜利')if __name__ == '__main__':main()

粘贴进去就能跑,拿走不谢!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/21679.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

奥特曼系列赛文飞踢是哪个服务器,昭和系6大奥特曼的“奥特飞踢”,泰罗的很敏捷,雷欧伤害最高!...

说起“奥特飞踢”那可是奥特曼格斗技能中非常炫酷的招式了&#xff0c;而且还能给怪兽造成不俗的伤害。记得小时候的小编在看奥特曼使用“奥特飞踢”打击怪兽时可是非常激动的&#xff0c;有时候甚至还幻想过自己也能使用这一招。毕竟小编不是练武术的&#xff0c;所以与这一招…

奥特曼系列ol光元在哪个服务器,奥特曼系列ol如何快速获得光元 奥特曼系列ol怎样快速获得光元...

奥特曼系列OL怎么刷光元&#xff1f;奥特曼系列ol刷光元bug有吗&#xff1f;奥特曼系列ol刷光元软件是真是假&#xff1f;奥特曼系列ol常规刷光元的方法是可以通过完成每日任务和成就任务来积累&#xff0c;但是这个过程比较长&#xff0c;需要长时间才能积累大量的光元。那么还…

7月6号奥特曼服务器维护中,泰迦奥特曼:7月6号开播,泰迦是泰罗儿子,优幸可变为三个奥特曼...

原标题&#xff1a;泰迦奥特曼&#xff1a;7月6号开播&#xff0c;泰迦是泰罗儿子&#xff0c;优幸可变为三个奥特曼 令和时代到来&#xff0c;奥特曼系列也将迎来全新的篇章&#xff0c;作为令和第一位奥特曼&#xff0c;不出预料的就是泰罗的儿子泰迦奥特曼。这一次官方总算实…

奥特曼系列ol如何进老服务器,《奥特曼系列OL》新手攻略

第一步就是最快速度进驻服务器&#xff0c;一般早上10点开服&#xff0c;游戏都这样&#xff0c;早点冲进去??这点很重要&#xff01;理由在后面说 引导中的第一次抽卡 目前已知的第一抽可能有的角色是赛罗、阿古茹、阿斯特拉、希卡利。 从实战角度考虑&#xff0c;最有用的应…

奥特曼系列ol光元在哪个服务器,奥特曼系列ol光元怎么合理使用

奥特曼系列ol光元怎么合理使用 2016-02-21 作者&#xff1a;说玩小编 来源&#xff1a;说玩网 评论(9条) 我要评论 奥特曼系列ol光元怎么合理使用?在游戏中&#xff0c;光元是很珍贵且数量稀少的&#xff0c;我们平时在使用光元的时候是需要合理利用的&#xff0c;那么奥特曼系…

奥特曼系列服务器,奥特曼系列ol无限光元

奥特曼系列ol无限光元这款游戏的奥特曼非常的多&#xff0c;操作比较的不错&#xff0c;玩起来非常的给力带劲儿哟&#xff0c;剧情也是比较的丰富的&#xff0c;玩起来很有代入感哟&#xff0c;各种酷炫的动作非常的炫目的哟&#xff01; 奥特曼系列ol无限光元玩家评论&#x…

Sam Altman 山姆奥特曼:如何成功 ?How To Be Successful

Sam Altman 山姆奥特曼:如何成功 ?How To Be Successful 目录 Sam Altman 山姆奥特曼:如何成功 ?How To Be Successful How To Be Successful如何成功

绘制一只奥特曼DIY

原文链接&#xff1a;https://codebus.cn/luoyh/ultraman 奥特曼的组成 奥特曼是由斜的椭圆&#xff0c;圆角矩形&#xff0c;圆形&#xff0c;以及曲线的组成的。此处绘制中&#xff0c;主要应用了曲线的的绘制&#xff0c;将奥特曼画的比较饱满。 值得学习的地方 本次绘制…

本期推送应该是全网最全的奥特曼表情包合集

奥特曼00298-戳死水B楼主.jpg 奥特曼00297-青峰在手谁能一剑屠龙.jpg 奥特曼00001-安排.jpg 奥特曼00002-咕叽咕叽啪啦啪啦.gif 奥特曼00003-校服校霸.jpg 奥特曼00004-摇滚奥特曼.gif 奥特曼00005-诸葛亮变色赛文.gif 奥特曼00006-奥特曼打工.gif 奥特曼00007-让老子看看你是什…

卖奥特曼卡片年入十亿:赚钱这事,你还得相信光的力量

我读小学的侄子告诉我&#xff0c;现在就连小学生的爱情都这么物质了。和他们班班花约会&#xff0c;明码标价&#xff1a;约会一次给她一张她没有的HR卡。如果有一张LGR卡&#xff0c;就可以直接奔现。 “没有黑金卡的爱情就像是一盘散沙&#xff0c;都不用风吹&#xff0c;打…

埃隆 · 马斯克、山姆 · 奥特曼和 OpenAI 的秘史

三年后&#xff0c;埃隆马斯克准备放弃他帮助创立的人工智能研究公司 OpenAI。 OpenAI 这家非营利组织于 2015 年推出&#xff0c;得到了马斯克和里德霍夫曼等亿万富翁科技名人的支持&#xff0c;他们曾作为一个团体认捐 10 亿美元。它吸引了该领域的一些顶尖人才离开大型科技公…

奥特曼与钢铁侠【InsCode Stable Diffusion美图活动一期】

文章目录 简介图片生成步骤更多体验方式 简介 InsCode 是一个一站式的软件开发服务平台&#xff0c;从开发-部署-运维-运营&#xff0c;都可以在 InsCode 轻松完成。 InsCode 的 Ins 是 Inspiration&#xff0c;意思是创作、寻找有灵感的代码。 Stable Diffusion是文图生成模型…

速卖通、阿里国际、shopee618盛典!提升订单销量的秘密武器—测评补单技术!

随着电子商务的迅速发展&#xff0c;网络购物已成为现代人生活中不可或缺的一部分。而在众多购物平台中&#xff0c;速卖通凭借其丰富多样的商品选择和优惠的价格政策&#xff0c;成为了全球消费者的首选之一。尤其是每年的618盛典&#xff0c;更是吸引了大量消费者的目光。然而…

阿里巴巴开源 Chat2DB v1.0.11 初体验

大家好&#xff0c;我是不才陈某~ 什么是 Chat2DB Chat2DB 是一款有开源免费的多数据库客户端工具&#xff0c;支持 Windows、MAC 本地安装&#xff0c;也支持服务器端部署&#xff0c;Web 网页访问。和传统的数据库客户端软件Navicat、DBeaver 相比 Chat2DB 集成了 AIGC 的能力…

Chinese-LLaMA-Alpaca:优秀的开源中文语言模型预训练工具

省时查报告-专业、及时、全面的行研报告库 省时查方案-专业、及时、全面的营销策划方案库 【免费下载】2023年3月份热门报告合集 万字干货&#xff1a;ChatGPT的工作原理 2023年创业&#xff08;有创业想法&#xff09;必读手册 ChatGPT等让你效率倍增的22个AI工具 ChatGPT调研…

GPT-4与人工智能的未来-微软CTO对话比尔·盖茨

省时查报告-专业、及时、全面的行研报告库 省时查方案-专业、及时、全面的营销策划方案库 无需翻墙&#xff0c;ChatGPT4直接用&#xff1a;无限制次数、字数 【免费下载】2023年2月份热门报告合集 ChatGPT调研报告&#xff08;仅供内部参考&#xff09; 文心一言、GPT3.5及GPT…

当危言耸听的言论照进现实:7800 个工作岗位危矣,AI 对大厂发起“进攻”?...

省时查报告-专业、及时、全面的行研报告库 省时查方案-专业、及时、全面的营销策划方案库 【免费下载】2023年3月份热门报告合集 万字干货&#xff1a;ChatGPT的工作原理 2023年创业&#xff08;有创业想法&#xff09;必读手册 ChatGPT等让你效率倍增的22个AI工具 ChatGPT调研…

AIGC时代的多模态知识工程思考与展望

内容简介&#xff1a;ChatGPT的火爆出圈使得AI生成&#xff08;AIGC&#xff09;技术受到了全社会前所未有的广泛关注。此消彼长之下&#xff0c;传统的知识工程遭受了诸多质疑。在多模态智能领域&#xff0c;AIGC的能力不断提升&#xff0c;多模态知识工程工作应该何去何从&am…

启元世界CEO袁泉:能力涌现不只与模型大小相关,AGI开启元宇宙实现之路 | 中国AIGC产业峰会...

衡宇 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT和GPT-4引发全球地震&#xff0c;很多人都在思考一个问题&#xff1a;OpenAI的成功路径是什么&#xff1f; 在中国AIGC产业峰会现场&#xff0c;启元世界创始人兼CEO袁泉给出了他的答案&#xff0c;它很好地融合了三大时代红利。…

大语言模型综述全新出炉:从T5到GPT-4最全盘点!

省时查报告-专业、及时、全面的行研报告库 省时查方案-专业、及时、全面的营销策划方案库 【免费下载】2023年3月份热门报告合集 万字干货&#xff1a;ChatGPT的工作原理 2023年创业&#xff08;有创业想法&#xff09;必读手册 ChatGPT等让你效率倍增的22个AI工具 ChatGPT调研…