teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

インデントを直しました

2019/10/18 04:09

投稿

tbs1010
tbs1010

スコア6

title CHANGED
File without changes
body CHANGED
@@ -5,60 +5,55 @@
5
5
  実装中に以下のエラーメッセージが発生しました。
6
6
 
7
7
  ### 発生している問題・エラーメッセージ
8
+ エラーメッセージ
8
9
 
9
- TypeError: Hero() takes no arguments
10
-
11
- エラーメッセージ
12
- 名前を入力してください: a
13
- 職業を入力してください: s
14
10
  Traceback (most recent call last):
15
- ***hero.py", line 44, in <module>
11
+ File "C:\Users\Tsubasa.k\Desktop\C;Python;work\hero.py", line 51, in <module>
16
- hero = Hero(hero_name,hero_job)
12
+ hero.sleep(20)
13
+ File "C:\Users\Tsubasa.k\Desktop\C;Python;work\hero.py", line 22, in sleep
14
+ show_status(self)
17
- TypeError: Hero() takes no arguments
15
+ NameError: name 'show_status' is not defined### 該当のソースコード
18
16
 
19
- ### 該当のソースコード
20
-
21
17
  python
22
18
  ソースコード
19
+
23
20
  class Hero:
24
21
  another_name = '勇者'
22
+ def __init__(self,name,job):
23
+ self.name = name
24
+ self.job =job
25
+ self.exp = 0
26
+ self.HP = 100
27
+ self.MP = 30
28
+ self.gold = 0
25
29
 
26
- def __init__(self,name,job):
27
- self.name = name
28
- self.job =job
29
- self.exp = 0
30
- self.HP = 100
31
- self.MP = 30
32
- self.gold = 0
33
-
34
- def show_status(self):
30
+ def show_status(self):
35
- 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))
31
+ 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))
36
32
 
37
- def beat_slime(self):
33
+ def beat_slime(self):
38
- print(self.name,"はスライムを倒した!!\n3expと10ゴールドを獲得した!!\n")
34
+ print(self.name,"はスライムを倒した!!\n3expと10ゴールドを獲得した!!\n")
39
- self.exp += 3
35
+ self.exp += 3
40
- self.gold += 10
36
+ self.gold += 10
41
37
 
42
- def sleep(self,time):
38
+ def sleep(self,time):
43
- time = int(input('何時間寝る?'))
44
- self.MP += time
39
+ self.MP += time
45
- print(self.name,'は',str(time),'時間寝た')
40
+ print(self.name,'は',str(time),'時間寝た')
46
- show_status()
41
+ show_status()
47
42
 
48
- def fireball(self):
43
+ def fireball(self):
49
- if self.MP < 10:
44
+ if self.MP < 10:
50
- print(self.name,"はファイアボールを唱えた!!\nしかしMPが足りない!!\n")
45
+ print(self.name,"はファイアボールを唱えた!!\nしかしMPが足りない!!\n")
51
- else:
46
+ else:
52
- print(self.name,"はファイアボールを唱えた!!\n周囲が焼き尽くされてしまった!!\n")
47
+ print(self.name,"はファイアボールを唱えた!!\n周囲が焼き尽くされてしまった!!\n")
53
- self.MP -= 10
48
+ self.MP -= 10
54
49
 
55
- def damaged(self,damage):
50
+ def damaged(self,damage):
56
- print(self.name,'は',str(damage),'ダメージを受けた!!\n')
51
+ print(self.name,'は',str(damage),'ダメージを受けた!!\n')
57
- self.HP -= int(damage)
52
+ self.HP -= int(damage)
58
- if self.HP < 1:
53
+ if self.HP < 1:
59
- print(self.name,'は死んでしまった!!\n')
54
+ print(self.name,'は死んでしまった!!\n')
60
- else:
55
+ else:
61
- pass
56
+ pass
62
57
 
63
58
 
64
59
  hero_name = input("名前を入力してください: ")
@@ -74,13 +69,10 @@
74
69
  hero.fireball()
75
70
  hero.sleep(20)
76
71
  hero.sleep(40)
77
- hero.show_status()
78
72
  hero.damaged(100)
79
73
 
80
-
81
74
  ### 試したこと
82
75
 
83
- ここに問題に対して試したことを記載してください。
84
76
  どうすればエラーが解消するのか分かりません
85
77
  ### 補足情報(FW/ツールのバージョンなど)
86
78