博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象小练习
阅读量:6595 次
发布时间:2019-06-24

本文共 1616 字,大约阅读时间需要 5 分钟。

基于面向对象设计一个对战游戏

定义锐雯类:

class Riven:    camp='Noxus'    def __init__(self,nickname,                 aggressivity=54,                 life_value=414,                 money=1001,                 armor=3): self.nickname=nickname self.aggressivity=aggressivity self.life_value=life_value self.money=money self.armor=armor def attack(self,enemy): damage_value=self.aggressivity-enemy.armor enemy.life_value-=damage_value

 

定义盖文类:

class Garen:    camp='Demacia'    def __init__(self,nickname,                 aggressivity=58,                 life_value=455,                 money=100,                 armor=10): self.nickname=nickname self.aggressivity=aggressivity self.life_value=life_value self.money=money self.armor=armor def attack(self,enemy): damage_value=self.aggressivity-enemy.armor enemy.life_value-=damage_value

 

定义装备:

class BlackCleaver:    def __init__(self,price=475,aggrev=9,life_value=100):        self.price=price        self.aggrev=aggrev        self.life_value=life_value    def update(self,obj): obj.money-=self.price #减钱 obj.aggressivity+=self.aggrev #加攻击 obj.life_value+=self.life_value #加生命值 def fire(self,obj): #这是该装备的主动技能,喷火,烧死对方 obj.life_value-=1000 #假设火烧的攻击力是1000

 

测试交互

r1=Riven('草丛伦')g1=Garen('盖文')b1=BlackCleaver()print(r1.aggressivity,r1.life_value,r1.money) #r1的攻击力,生命值,护甲if r1.money > b1.price:    r1.b1=b1    b1.update(r1)print(r1.aggressivity,r1.life_value,r1.money) #r1的攻击力,生命值,护甲print(g1.life_value) r1.attack(g1) #普通攻击 print(g1.life_value) r1.b1.fire(g1) #用装备攻击 print(g1.life_value) #g1的生命值小于0就死了 

按照这种思路一点一点的设计类和对象,最终你完全可以实现一个对战类游戏。

 

转载于:https://www.cnblogs.com/llhtjwq/p/8306482.html

你可能感兴趣的文章
初创公司MindMaze研发情绪反应VR,让VR关怀你的喜怒哀乐
查看>>
绕开“陷阱“,阿里专家带你深入理解C++对象模型的特殊之处
查看>>
ElasticSearch
查看>>
Manually Summarizing EIGRP Routes
查看>>
曲线学习PyQt5方案一
查看>>
OpenCV学习】矩阵运算和操作2
查看>>
nginx+ffmpeg搭建rtmp转播rtsp流的flash服务器
查看>>
深度解析Java8 – AbstractQueuedSynchronizer的实现分析(下)
查看>>
React组件: 提取图片颜色
查看>>
3D应用开发中的欧拉角和旋转矩阵
查看>>
RxJava2.0的初学者必备教程(九)
查看>>
记一次omi的项目之旅
查看>>
Android API级别、代号、发布时间及平台亮点整理
查看>>
LLDP(链路层发现协议)
查看>>
Ubuntu14 添加程序启动
查看>>
我的友情链接
查看>>
windows网络安全以及常见网络***方式
查看>>
警告 初始化默认驱动器时出错“找不到运行 Active Directory Web 服务的默认服务器。”...
查看>>
JS字符串转换数字
查看>>
Journey源码分析二:整体启动流程
查看>>