前提・実現したいこと
ここに質問の内容を詳しく書いてください。
pythonで簡易的なPRGゲーム的なものを作りましたが
実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラーメッセージ
Traceback (most recent call last):
File "C:\Users\Tsubasa.k\Desktop\C;Python;work\hero.py", line 51, in <module>
hero.sleep(20)
File "C:\Users\Tsubasa.k\Desktop\C;Python;work\hero.py", line 22, in sleep
show_status(self)
NameError: name 'show_status' is not defined### 該当のソースコード
python
ソースコード
class Hero:
another_name = '勇者'
def init(self,name,job):
self.name = name
self.job =job
self.exp = 0
self.HP = 100
self.MP = 30
self.gold = 0
def show_status(self): print('\n--status--\n名前:{0}{1}\n職業:{2}\nexp:{3}\nHP:{5}\n所持金:{6}ゴールド\n'.format(Hero.another_name,self.name,self.job,self.exp,self.HP,self.MP,self.gold)) def beat_slime(self): print(self.name,"はスライムを倒した!!\n3expと10ゴールドを獲得した!!\n") self.exp += 3 self.gold += 10 def sleep(self,time): self.MP += time print(self.name,'は',str(time),'時間寝た') show_status() def fireball(self): if self.MP < 10: print(self.name,"はファイアボールを唱えた!!\nしかしMPが足りない!!\n") else: print(self.name,"はファイアボールを唱えた!!\n周囲が焼き尽くされてしまった!!\n") self.MP -= 10 def damaged(self,damage): print(self.name,'は',str(damage),'ダメージを受けた!!\n') self.HP -= int(damage) if self.HP < 1: print(self.name,'は死んでしまった!!\n') else: pass
hero_name = input("名前を入力してください: ")
hero_job = input("職業を入力してください: ")
hero = Hero(hero_name,hero_job)
hero.show_status()
hero.damaged(10)
hero.fireball()
hero.beat_slime()
hero.fireball()
hero.fireball()
hero.fireball()
hero.sleep(20)
hero.sleep(40)
hero.damaged(100)
試したこと
どうすればエラーが解消するのか分かりません
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー