レコード#
今日の練習は、ゲームキャラクターのクラスを作成することに関するものです。それほど難しくはありませんが、いくつかの部分で混乱するかもしれません。練習の要件は以下の通りです:
- ゲームにはキャラクターが必要で、名前、体力、魔力を含みます。
- キャラクターを初期化する際に、これらの値を設定する必要があります。
- これらのデータを出力するためのメソッドが必要です。
Player
という名前の子クラスを作成し、Character
クラスを継承します。さらに、追加の体力属性を持ちます。Player
クラスには、キャラクターの状態をチェックし、「はい」または「いいえ」を返すメソッドも必要です。Enemy
という名前の子クラスを作成し、追加のタイプ
と強さ
属性を持ちます。Enemy
クラスには 2 つの子クラスがあります:Orc
は速度
属性を持ちます。Vampire
は昼/夜
トラッカー属性を持ちます。
Player
オブジェクト、2 つのVampire
オブジェクト、および 3 つのOrc
オブジェクトをインスタンス化します。名前は任意で選択できます。- それらの属性値を出力します。
CODE#
class gamer:
gname = None
health = None
magic = None
def __init__(self, gname, health, magic):
self.gname = gname
self.health = health
self.magic = magic
def print(self):
print(f"{self.gname} > {self.health} > {self.magic}")
class player(gamer):
alive = None
def __init__(self, gname, health, magic, alive):
self.gname = gname
self.health = health
self.magic = magic
self.alive = alive
def alive(self):
if self.alive:
print("生存していません")
return True
else:
print("生存しています")
return True
def print(self):
print(f"{self.gname} > {self.health} > {self.magic} > {self.alive}")
class enemy(gamer):
type = None
strength = None
def __init__(self, gname, health, magic, type, strength):
self.gname = gname
self.health = health
self.magic = magic
self.type = type
self.strength = strength
def print(self):
print(
f"{self.gname} > {self.health} > {self.magic} > {self.type} > {self.strength}"
)
class attribute(enemy):
orc = "速度"
def __init__(self, gname, health, magic, type, strength, orc):
self.gname = gname
self.health = health
self.magic = magic
self.type = type
self.strength = strength
self.orc = orc
def print(self):
print(
f"{self.gname} > {self.health} > {self.magic} > {self.type} > {self.strength} > {self.orc}"
)
class tracker(enemy):
Speed = None
def __init__(self, gname, health, magic, type, strength, Speed):
self.gname = gname
self.health = health
self.magic = magic
self.type = type
self.strength = strength
self.Speed = Speed
def print(self):
print(
f"{self.gname} > {self.health} > {self.magic} > {self.type} > {self.strength} > {self.Speed}"
)
david = player("デビッド", "100", "50", "3")
david.print()
david.alive()
Boris = attribute("ボリス", "45", "70", "Vampire", "3", "夜")
Boris.print()
Rishi = attribute("リシ", "45", "10", "Vampire", "75", "昼")
Rishi.print()
Ted = tracker("テッド", "75", "40", "orc", "80", "45")
Ted.print()
Station = tracker("ステーション", "75", "40", "orc", "80", "50")
Station.print()
Bill = tracker("ビル", "60", "5", "orc", "75", "90")
Bill.print()