‘’’
實現思路:
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()
案例效果圖