码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象 之 炮塔游戏(继承,对象存储到列表)

时间:2018-10-13 02:54:13      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:str   16px   end   mat   方法   存储   code   style   bubuko   

‘‘‘
实现思路:

1.创建一个炮塔类,包含2个变量,这2个变量一个是炮塔名字,一个是攻击力。
2.在炮塔类中写一个攻击函数,参考案例效果写出对应的语句。可以暂时先不写。
3.在炮塔类中写一个升级函数,让攻击力乘2,参照案例效果。
4.创建单体炮塔类和群体炮塔类分别继承自炮塔。分别重写攻击函数,输出语句见案例效果。
5.单体炮塔类中定义一个技能减速方法,见案例效果。
6.群体炮塔类中定义一个技能冰冻的方法。
7.在主程序中创建2个单体炮塔和2个群体炮塔。将这4个对象存储到列表中。遍历列表尝试完成案例效果。
‘‘‘

#父类 炮塔
class Pata:
  def __init__(self,name,tak):
    self.name = name
    self.tak = tak
    print(%s建设完毕,攻击力%d % (self.name, self.tak),end=,)
  def gongji(self):
    print({}进行单体输出.format(self.name))

  def shengji(self):
    print(%s升级完毕,攻击力*2,当前攻击力%d%(self.name,self.tak*2))


#单体炮塔
class Dan(Pata):
  def __init__(self,name,tak):
    super().__init__(name,tak)
    print(能够对单目标进行攻击)

  def jiansu(self):
    print(%s释放技能减速%(self.name))
#群体炮塔
class Qun(Pata):
  def __init__(self,name,tak):
    super().__init__(name,tak)
    print(能够对群体目标进行攻击)

  def gongji(self):
    print({}进行群体输出.format(self.name))

  def jiansu(self):
    print(%s释放技能冰冻%(self.name))


#创建主程序 储存列表遍历
def Man():
  print(游戏开始)
  d1 = Dan(萝卜炮1号, 20)
  d2 = Dan(萝卜炮2号, 20)
  q1 = Qun(蘑菇炮1号, 10)
  q2 = Qun(蘑菇炮2号, 10)
  lt = [d1,d2,q1,q2]
  print(怪物入侵)
  for i in lt:
    i.gongji()
    i.jiansu()

  print(炮塔升级)
  for k in lt:
    k.shengji()

if __name__ == __main__:
  Man()

案列效果图

技术分享图片

面向对象 之 炮塔游戏(继承,对象存储到列表)

标签:str   16px   end   mat   方法   存储   code   style   bubuko   

原文地址:https://www.cnblogs.com/chengxubo/p/9781094.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!