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

本文共 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

你可能感兴趣的文章
Java开发环境Docker镜像
查看>>
从无到有,WebService Apache Axis2初步实践
查看>>
任务调度(一)——jdk自带的Timer
查看>>
UIKit框架(15)PCH头文件
查看>>
整理看到的好的文档
查看>>
Linux磁盘管理和文件系统管理
查看>>
linux运维人员的成功面试总结案例分享
查看>>
Windows DHCP Server基于MAC地址过滤客户端请求实现IP地址的分配
查看>>
命令查询每个文件文件数
查看>>
《跟阿铭学Linux》第8章 文档的压缩与打包:课后习题与答案
查看>>
RAC表决磁盘管理和维护
查看>>
Apache通过mod_php5支持PHP
查看>>
发布一个TCP 吞吐性能测试小工具
查看>>
java学习:jdbc连接示例
查看>>
PHP执行批量mysql语句
查看>>
Extjs4.1.x 框架搭建 采用Application动态按需加载MVC各模块
查看>>
Silverlight 如何手动打包xap
查看>>
建筑电气暖通给排水协作流程
查看>>
JavaScript面向对象编程深入分析(2)
查看>>
linux 编码转换
查看>>