class Hero:
def __init__(self, new_nickname,
new_aggressivity,
new_life_value,
new_money,
new_armor # 护甲值为:12
):
self.nickname = new_nickname
self.aggressivity = new_aggressivity
self.life = new_life_value
self.money = new_money
self.armor = new_armor
self.equip_list = []
self.count = 0 def __str__(self):
if self.count == 1:return '请不要鞭尸!谢谢合作'
if self.life == 0:
self.count += 1
return '这傻叉已经被你活活打死了哦!'
else:
msg = "(英雄)%s的攻击力为:%d,生命值为:%d,你有:%d金币,护甲值:%d" \
% (self.nickname, self.aggressivity, self.life, self.money, self.armor)
msg += " 身上的装备有%s" % (str(self.equip_list))
return msg def add_equip(self, equip):
self.money -= equip.get_price() # 装备的价钱!用自己的钱购买装备后的余额
self.aggressivity += equip.aggrev
self.equip_list.append(equip.get_name()) def attack(self, enemy):
damage_value = self.aggressivity - enemy.armor # 再减护甲值相当于掉血量damage_value
enemy.life -= damage_value
if enemy.life < 0:
enemy.life = 0 # 如果血量是负数说明已经死了!写血量为0即可
print('%s向%s发起了一次攻击' % (self.nickname, enemy.nickname))
print('%s的生命值减少了%s,剩余生命值为%s' % (enemy.nickname, damage_value, enemy.life)) class Equip:
def __init__(self, new_name, new_price, life_value, new_aggrev):
self.name = new_name
self.price = new_price # BlackCleaver
self.lif_value = life_value
self.aggrev = new_aggrev def __str__(self):
return "装备(%s)的价钱为:%d" % (self.name, self.price) def get_price(self):
return self.price def get_name(self):
return self.name Ruiwen = Hero('锐雯', 54, 414, 9999, 12)
print(Ruiwen)
shop_duolanjian = Equip('多兰之刃', 475, 100, 9)
print(shop_duolanjian)
shop_wujin = Equip('无尽之刃', 3600, 0, 80)
print(shop_wujin) Ruiwen.add_equip(shop_duolanjian)
print(Ruiwen)
Ruiwen.add_equip(shop_wujin)
print(Ruiwen)
Ruiwen.add_equip(shop_wujin)
print(Ruiwen)
Gailun = Hero('盖伦', 54, 455, 9999, 19)
print(Gailun)
Gailun.attack(Ruiwen) print(Ruiwen) # 查看锐雯是不是被攻击并血量值减少了
Ruiwen.attack(Gailun)
print()
print(Gailun)
Ruiwen.attack(Gailun)
print()
print(Gailun)
Ruiwen.attack(Gailun)
print()
# Ruiwen.attack(Gailun)#好像已经死了,不存在鞭尸的哦!- -
print(Gailun)
print('-'*50)
Ruiwen.attack(Gailun)
print()
print(Gailun)

最新文章

  1. OpenCV从入门到放弃系列之——如何扫描图像、利用查找表和计时
  2. git将代码提交到远程分支(非主分支)
  3. linux free命令(转载)
  4. python 数据字典应用
  5. 定义一个runtime的Annotation
  6. STL之string
  7. 【Sqlserver系列】【转载】事物与锁
  8. JAXB(Java Architecture for XML Binding)
  9. javaScript之数组操作方法(一)
  10. 细说tomcat之session持久化探秘
  11. 谷歌技术&quot;三宝&quot;之MapReduce
  12. CF888G Xor-MST 生成树、分治、Trie树合并
  13. 转载如何实现portlet之间的传递参数
  14. 适合自己的adblock过滤列表
  15. 基于FFmpeg的音频编码(PCM数据编码成AAC android)
  16. python 爬虫 黑科技
  17. 汇编语言、与C语言、实现--汉诺塔--
  18. 赢在面试之Java多线程(十一)
  19. 51Nod 1561 另一种括号序列
  20. Java -- Properties类使用 读取配置文档

热门文章

  1. 转 xshell 图像化展示
  2. 如何设计企业移动应用 by宋凯
  3. orcale错题分析
  4. Day5 CSS基本样式和C3选择器
  5. eclipse 中安装spring tool suite 插件100%成功率
  6. mysql用户权限操作
  7. 【extjs6学习笔记】1.12 初始: Working with DOM
  8. 在 Windows下用 Visual Studio 编译 OpenSSL 1.1.0
  9. pat甲级1016
  10. OpenCV转为灰度图像 &amp; 访问像素方法