1.1 問題
創建程序,要求如下:
創建遊戲角色類
遊戲人物角色擁有名字、武器等屬性
遊戲人物具有攻擊和行走的方法
武器通過武器類實現
1.2 方案
由於遊戲角色和武器都由類實現,而這個兩個類又完全不同,所以可以通過組合來實現。將武器類的一個實例作爲遊戲人物的一個屬性。
1.3 步驟
實現此案例需要按照如下步驟進行。
步驟一:編寫腳本
[root@localhost day07]# vim game_role.py
class Weapon:
def __init__(self, wname, strength):
self.wname = wname
self.strength = strength
class Warrior:
def __init__(self, name, weapon):
self.name = name
self.weapon = weapon
def speak(self, words):
print("I'm %s, %s" % (self.name, words))
def show_me(self):
print("我是%s, 我是一個戰士。我用的武器是%s" % (self.name, self.weapon.wname))
if __name__ == '__main__':
blade = Weapon('青龍偃月刀', 100)
print(blade.wname, blade.strength)
gy = Warrior('關羽', blade)
gy.show_me()
cz = Weapon('禪杖', 100)
lzs = Warrior('魯智深', cz)
lzs.show_me()
步驟二:測試腳本執行
[root@localhost day07]# python3 game_role.py
青龍偃月刀 100
我是關羽, 我是一個戰士。我用的武器是青龍偃月刀
我是魯智深, 我是一個戰士。我用的武器是禪杖