実行イメージ
たろう【オス】タイプ:三毛 体力:5 何する? 1:散歩 2:寝る q:終了>>> 1 楽しい♪ たろう 体力:4 何する? 1:散歩 2:寝る q:終了>>> 1 楽しい♪ たろう 体力:3 何する? 1:散歩 2:寝る q:終了>>> 1 楽しい♪ たろう 体力:2 腹減った! 何する? 1:散歩 2:寝る q:終了>>> 1 やだ! 何する? 1:散歩 2:寝る q:終了>>> : :
ファイル名:class_cat.py
# クラスで猫を表現してみる
# 猫クラス
class Cat:
# コンストラクタ
def __init__(self, name, sex, type, hp):
self.name = name # 猫の名前
self.sex = sex # 性別
self.type = type # 種類
self.hp = hp # 体力
self.isHungry = False # お腹の減り具合
print("{}【{}】タイプ:{} 体力:{}".format(self.name, self.sex, self.type, self.hp))
# 散歩する
def sanpo(self):
if self.isHungry: # お腹がすいている場合
print("やだ!")
return
self.hp -= 1
if self.hp < 3: # 体力が減ったらお腹がすく
self.isHungry = True
print("楽しい♪")
self.show_info() # 状態表示
# 寝る
def neru(self):
self.hp += 1 # 体力回復
if self.hp >= 3: # よく寝たらお腹回復
self.isHungry = False
print("あ~、よく寝た!")
self.show_info() # 状態表示
# 状態表示
def show_info(self):
print("{} 体力:{}".format(self.name, self.hp))
if self.isHungry:
print("腹減った!")
# 猫生成
taro = Cat("たろう","オス", "三毛", 5)
# どうする?
while True:
print("\n何する? 1:散歩 2:寝る q:終了>>> ", end="")
do = input()
if do == "1":
taro.sanpo()
elif do == "2":
taro.neru()
elif do == "q":
break
else:
continue
コメント