面向對象 之 炮塔遊戲(繼承,對象存儲到列表)

‘’’
實現思路:

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()

案例效果圖
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章