本人新人入门Python 老师布置的作业打怪兽,本人参考了大佬们的杰作然后完成了下方的适合新手入门的版本,与大家分享!

第一步:新建Python包,创建文件

注意:需要有_init_.py这个py文件,里面可以为空,但是一定要有。

第二步:写个简单的武器商店Equipment.py

不多说,直接上代码。因为比较基础,也没啥好讲的。都是最基础的。

# EquipmentStore 装备商店  name 名字 attack 攻击 damage伤害 defensive 防御
# attackSpeed 攻速 movingSpeed移速 price价格 EquipmentAttribute的装备属性class Equipment_Attribute:def __init__(self, name, attack, defensive, attackSpeed, movingSpeed, price):  self.price = priceself.movingSpeed = movingSpeedself.attackSpeed = attackSpeedself.defensive = defensiveself.attack = attackself.name = name# def show(self):#     print("%s 攻击:%s 防御:%s 攻速:%s 移速:%s 价格:%s" % (#         self.name, self.attack, self.defensive, #         self.attackSpeed, self.movingSpeed, self.price))s1 = Equipment_Attribute("攻速鞋", 0, 0, 0.35, 45, 1100)
s2 = Equipment_Attribute("布甲鞋", 0, 20, 0, 45, 1100)
s3 = Equipment_Attribute("短剑", 10, 0, 0, 0, 350)

第三步:写英雄部分内容,Hero.py

import time
import random
import LOL.Equipmentclass YaSuo:def __init__(self, Name, HP, MP, Attack):self.Name = Nameself.HP = HPself.MP = MPself.Attack = Attackdef LinesYS(self):  # 亚索的台词say = random.randint(0, 9)taici = ['死亡如风,常伴吾身。','长路漫漫,唯剑作伴。','吾之荣耀,离别已久。','明日安在,无人能允。','且随疾风前行,身后亦须留心。','此剑之势,愈斩愈烈。','仁义道德,也是一种奢侈。','回首往昔,更进一步。','我将遵循此道,直至终结。','荣耀存于心,而非流于形。']print("疾风剑豪--亚索:   "+taici[say])# 增加Attack:伤害 as 攻击力def Add_Attack(self):s3 = LOL.Equipment.s3if s3.name:print(f"{self.Name}已成功购买一柄短剑")self.Attack += s3.attackdef PuTong_Attack(self):  # 普通攻击方法print(f"{self.Name}平A!")self.Add_Attack()return self.Attackdef SkillQ(self):print(f"{self.Name}释放技能Q:斩钢闪 --哈塞给--")time.sleep(1)print(f"{self.Name}技能Q:斩钢闪-->命中")print(f"{self.Name}对{xz.Name}造成{self.Attack * 2}的HP伤害")return self.Attack * 2def SkillR(self):print(f"{self.Name}释放技能R:狂风绝息斩")time.sleep(1)print(f"{self.Name} --索雷阿给动--")print(f"{self.Name}对{xz.Name}造成{self.Attack * 4}的HP伤害")return self.Attack * 4def __str__(self):  # 内置魔法方法,输出对象时输出bar_length = 20h = '#' * int(self.HP / 100.0 * bar_length)s = '-' * (bar_length - len(h))h2 = '#' * int(self.MP / 100.0 * bar_length)s2 = '-' * (bar_length - len(h2))return "%s HP: [%s] %d   %s MP: [%s] %d" % (self.Name, h + s, self.HP, self.Name, h2 + s2, self.MP)class LiQing:def __init__(self, Name, HP, MP, Attack):self.Name = Nameself.HP = HPself.MP = MPself.Attack = Attackdef LinesMS(self):  # 盲僧的台词say = random.randint(0, 9)taici = ['控制自己,掌控敌人。','你今天不会取得胜利的。','我用双手成就你的梦想。','如果暴力不是为了杀戮 那将毫无意义。','双眼失明丝毫不影响我追捕敌人,因为我能闻到他们身上的臭味 。','哪里需要我呢。','他们心跳加快。','我会识破这一切。','找到自己的战场。','勇往直前。']print("盲僧——李青:   "+taici[say])def Add_Attack(self):s3 = LOL.Equipment.s3if s3.name:print(f"{self.Name}已成功购买一柄短剑")self.Attack += s3.attackdef PuTong_Attack(self):  # 普通攻击方法print(f"{self.Name}平A!")self.Add_Attack()print(f"{self.Name}对{ys.Name}造成{self.Attack}的HP伤害")return self.Attackdef SkillQ(self):print(f"{self.Name}释放技能Q:天音波/回音击 --Echo--")time.sleep(1)print(f"{self.Name}技能Q:天音波/回音击-->命中")print(f"{self.Name}对{ys.Name}造成{self.Attack * 2}的HP伤害")return self.Attack * 2def SkillR(self):print(f"{self.Name}释放技能R:猛龙摆尾")time.sleep(1)print(f"{self.Name} --一库--")print(f"{self.Name}对{ys.Name}造成{self.Attack * 4}的HP伤害")return self.Attack * 4def __str__(self):  # 内置魔法方法,输出对象时输出bar_length = 20h = '#' * int(self.HP / 100.0 * bar_length)s = '-' * (bar_length - len(h))h2 = '#' * int(self.MP / 100.0 * bar_length)s2 = '-' * (bar_length - len(h2))return "  %s  HP: [%s] %d   %s MP: [%s] %d" % (self.Name, h + s, self.HP, self.Name, h2 + s2, self.MP)ys = YaSuo("疾风剑豪--亚索", 100, 100, 0.35)
xz = LiQing("盲僧——李青", 100, 100, 0.35)

写的极为简单,但是可以无限加,才学的我写这个已经很努力的在CSDN了。哈哈。全是最基础的点,看不懂就直接查知识点怎么用的。

第四步:写main(),写运行过程,前面的都是在给这个做准备!

写的跟实际上的还有是区别,但是我是为了学习,表达意思到位就ok。

# coding=utf-8
import time
import random
import LOL.Heroprint("\033[1;37;40m " + '-' * 20, '《英雄联盟》', '-' * 20 + "\033[0m")
print('请选择你的英雄:')
print('\t1.疾风剑豪——亚索')
print('\t2.盲僧——李青')
player_choose = input('请选择[1-2]:')
print('-' * 66)
if player_choose == '1':print('你已经选择了1,你将以->  疾风剑豪——亚索  <-的身份来进行游戏!')
elif player_choose == '2':print('你已经选择了2,你将以你将以->  盲僧——李青  <-的身份来进行游戏!')
else:print('你的输入有误,系统将自动分配身份,你将以->  疾风剑豪 亚索  <-的身份来进行游戏!')num = 0
ys = LOL.Hero.YaSuo("疾风剑豪--亚索", 100, 100, 0.35)
xz = LOL.Hero.LiQing("盲僧——李青", 100, 100, 0.35)
print("\033[1;37;40m--------------------欢迎来到英雄联盟--------------------\033[0m")
time.sleep(1)
print("\033[1;37;40m-------------------敌军还有30秒到达战场------------------\033[0m")
time.sleep(1)
print("\033[1;37;40m------------------------全军出击------------------------\033[0m")
time.sleep(1)
ys.LinesYS()
xz.LinesMS()
while True:if ys.HP > 0 and xz.HP > 0:num += 1time.sleep(1)print(f"\033[1;37;40m============第{num}回合=============\033[0m")time.sleep(1)print(ys)  # 输出对象,自动执行了上面的__str__魔法方法time.sleep(1)print(xz)a = random.randint(0, 100)  # 随机攻击回合if a > 80:  # 如果>60压缩攻击 ,瞎子掉血xz.HP -= ys.PuTong_Attack()elif 80 >= a > 60:ys.HP -= xz.PuTong_Attack()elif 60 >= a > 40:  # 如果是60-40压缩放技能q,瞎子掉血xz.HP -= ys.SkillQ()elif 40 >= a > 20:  # 如果是40-20瞎子放技能q,压缩掉血ys.HP -= xz.SkillQ()elif 20 >= a > 10:  # 如果是10-20压缩放技能r,瞎子掉血xz.HP -= ys.SkillR()else:ys.HP -= xz.SkillR()else:if xz.HP <= 0:  # 瞎子血为0,压缩获胜time.sleep(1)print(f"\033[1;32;41m     %s WIN!!!!     \033[0m" % ys.Name)time.sleep(1)print("\033[1;37;40m " + '-' * 20, 'GAME OVER', '-' * 20 + "\033[0m")breakelse:time.sleep(1)print(f"\033[1;32;41m    %s WIN!!!!    \033[0m" % xz.Name)time.sleep(1)print("\033[1;37;40m " + '-' * 20, 'GAME OVER', '-' * 20 + "\033[0m")break
ys.LinesYS()
xz.LinesMS()

其实写的有点花里胡哨的,哈哈哈,攻击靠运气,买东西不用给钱,哈哈,平a到就是赚到,a一下送把短剑,我也是人才!后面继续改进!

最后一步:对着main.py右键-run

其实还有很多代码不正规的地方,但是这是我写的第一个项目式代码。允许我姑且称她为一个项目,很简单,很基础,学了很多基础知识点,而且很有成就感,也感谢CSDN的前辈们对我的隔空指导!我会加油的!


最后跟英语跟我一样差的人,推荐个插件,哈哈,Tran***,后面几个字母记不到了。886!

最后最后,真的最后了,有人知道我封面的那个奥特曼名字是什么吗?

Python新手经典案例之奥特曼打怪兽-lol版相关推荐

  1. Python奥特曼打怪兽射击游戏(基于海龟画图创作的作品,来自Python创意编程100例sprites篇_Python精灵模块)

    相信这竟然是Python用海龟画图制作的作品吗? sprites模块就是用python的turtle模块开发的!所以本作品仍属于Python海龟画图作品 """奥特曼打怪 ...

  2. Python奥特曼打怪兽射击游戏,基于海龟画图创作的作品

    相信这竟然是Python用海龟画图制作的作品吗? sprites模块就是用python的turtle模块开发的!所以本作品仍属于Python海龟画图作品 """奥特曼打怪 ...

  3. 用Python做一个奥特曼打怪兽的小游戏

    话不多说,往下看吧! 引入需要的模块 from sprites import * from pygame import mixer 设置页面格式(宽高等等) width,height = 800,60 ...

  4. Python编程经典案例【考题】自由落体运动球的运动轨迹

    本文和你一起探索Python编程经典案例,让你沉浸式学习Python.助你期末考试拿高分,拿到大厂的心仪offer.你可以先自己拿着题目去思考有多少种不同的解题方法,然后再对照本文解题方法进行比较.有 ...

  5. Python机器学习经典案例实战-韦玮-专题视频课程

    Python机器学习经典案例实战-3710人已学习 课程介绍         Python在机器学习领域应用是非常广泛的,比如,我们可以使用机器学习进行验证码识别,使用机器学习实现计算机视觉项目,或者 ...

  6. Java练习之奥特曼打怪兽(回合制)

    Java练习 1.整体要求 奥特曼打怪兽,奥特曼有名字.攻击力.血量等属性,有技能:飞行.光线攻击: 怪兽有名字.攻击力和血量属性,有技能:奔跑.蛮力攻击. 创建奥特曼和怪兽对象,然后调用他们的属性和 ...

  7. Python编程经典案例【考题】求某个范围内能被3整除且能被5整除的所有数,及这些数的和

    本文和你一起探索Python编程经典案例,让你沉浸式学习Python.你可以拿着题目先思考,然后再对照本文解题方法进行比较.有不同的见解欢迎到公众号中跟我一起探讨.    文章目录 一.经典案例[考题 ...

  8. Python编程经典案例【考题】排列组合

    本文和你一起探索Python编程经典案例,让你沉浸式学习Python.你可以拿着题目先思考,然后再对照本文解题方法进行比较.有不同的见解欢迎到公众号中跟我一起探讨. 文章目录 一.经典案例[考题] 二 ...

  9. Python编程经典案例【考题】公司奖金发放

    本文和你一起探索Python编程经典案例,让你沉浸式学习Python.你可以拿着题目先思考,然后再对照本文解题方法进行比较.有不同的见解欢迎到公众号中跟我一起探讨.    文章目录 一.经典案例[考题 ...

最新文章

  1. 微软开源的自动机器学习工具上新了:NNI概览及新功能详解
  2. 广西师范大学计算机调剂难吗,2014年广西师范大学考研调剂过来人给的建议
  3. 事物日志恢复 mysql_浅谈SQL Server中的事务日志(五)----日志在高可用和灾难恢复中的作用...
  4. 又拍云,音视频CDN加速利器
  5. java内存不足错误_调试Java内存不足错误
  6. 美团信用卡现金分期怎么还?
  7. 小精灵股市行情软件办公室专用绿色版.rar
  8. 电路实验一阶电路误差分析_逆变器电路原理分析
  9. python查看opencv版本
  10. ora 01033 linux,数据库ORA-01033错误解决办法
  11. CSS 固定定位 position fixed
  12. 红米手机开启---开发者选项方法
  13. 关于PaaS平台开发的五个大坑
  14. 神舟Z8-SP7D1驱动安装
  15. 1.7.1 计算机网络体系结构的形成
  16. ********广度优先搜索*********
  17. MATLAB 中 X轴修改成特定的坐标
  18. 什么叫少儿机器人编程
  19. 数据库中LIMIT和 OFFSET的理解
  20. c语言水仙花数256,c语言学习:求水仙花数

热门文章

  1. 智能家居设计新生态 “小Home Assistant” 智汀一站式全屋智能解决方案
  2. 用python做一个翻译器
  3. 注册商为阿里云的域名解析到腾讯云
  4. 新版chrome无法使用IDM下载
  5. win7连接wifi显示有限的访问权限,没有有效的IP配置,无法上网问题的解决办法
  6. SOLIDWORKS 如何重用DWG格式图纸
  7. STM32的printf函数串口重定义(HAL库和标准库都适用)
  8. [译]A Gentle Introduction to Functional Javascript part 4
  9. 天气微信小程序源码,附上线教程
  10. 往事如烟 - 老钟27