記錄#
今天的練習是關於編寫遊戲人物的類別。雖然不算難,但是有些地方可能會讓您感到困惑。練習的要求如下:
- 我的遊戲需要一個角色,包括姓名、生命值和魔法值。
- 在初始化角色時,需要設定這些值。
- 需要一個方法來輸出這些資料。
- 需要創建一個名為
Player
的子類別,它繼承自Character
類別,並且還有一個額外的生命值屬性。 Player
類別還應該有一個方法來檢查角色的狀態,並返回 “是” 或 “否”。- 還應該創建一個名為
Enemy
的子類別,它有額外的類型
和力量
屬性。 Enemy
類別應該有兩個子類別:Orc
,它有一個速度
屬性。Vampire
,它有一個白天/黑夜
追蹤器屬性。
- 實例化一個
Player
物件、兩個Vampire
物件和三個Orc
物件。您可以選擇它們的姓名。 - 列印出它們的屬性值。
CODE#
class 玩家:
名字 = None
生命值 = None
魔法值 = None
def __init__(self, 名字, 生命值, 魔法值):
self.名字 = 名字
self.生命值 = 生命值
self.魔法值 = 魔法值
def 列印(self):
print(f"{self.名字} > {self.生命值} > {self.魔法值}")
class 玩家角色(玩家):
存活 = None
def __init__(self, 名字, 生命值, 魔法值, 存活):
self.名字 = 名字
self.生命值 = 生命值
self.魔法值 = 魔法值
self.存活 = 存活
def 存活(self):
if self.存活:
print("存活 否")
return True
else:
print("存活 是")
return True
def 列印(self):
print(f"{self.名字} > {self.生命值} > {self.魔法值} > {self.存活}")
class 敵人(玩家):
類型 = None
力量 = None
def __init__(self, 名字, 生命值, 魔法值, 類型, 力量):
self.名字 = 名字
self.生命值 = 生命值
self.魔法值 = 魔法值
self.類型 = 類型
self.力量 = 力量
def 列印(self):
print(
f"{self.名字} > {self.生命值} > {self.魔法值} > {self.類型} > {self.力量}"
)
class 屬性(敵人):
獸人 = "速度"
def __init__(self, 名字, 生命值, 魔法值, 類型, 力量, 獸人):
self.名字 = 名字
self.生命值 = 生命值
self.魔法值 = 魔法值
self.類型 = 類型
self.力量 = 力量
self.獸人 = 獸人
def 列印(self):
print(
f"{self.名字} > {self.生命值} > {self.魔法值} > {self.類型} > {self.力量} > {self.獸人}"
)
class 追蹤器(敵人):
速度 = None
def __init__(self, 名字, 生命值, 魔法值, 類型, 力量, 速度):
self.名字 = 名字
self.生命值 = 生命值
self.魔法值 = 魔法值
self.類型 = 類型
self.力量 = 力量
self.速度 = 速度
def 列印(self):
print(
f"{self.名字} > {self.生命值} > {self.魔法值} > {self.類型} > {self.力量} > {self.速度}"
)
大衛 = 玩家角色("大衛", "100", "50", "3")
大衛.列印()
大衛.存活()
鮑里斯 = 屬性("鮑里斯", "45", "70", "吸血鬼", "3", "夜晚")
鮑里斯.列印()
里西 = 屬性("里西", "45", "10", "吸血鬼", "75", "白天")
里西.列印()
泰德 = 追蹤器("泰德", "75", "40", "獸人", "80", "45")
泰德.列印()
斯泰森 = 追蹤器("斯泰森", "75", "40", "獸人", "80", "50")
斯泰森.列印()
比爾 = 追蹤器("比爾", "60", "5", "獸人", "75", "90")
比爾.列印()