質問編集履歴

1

インデントを直しました

2019/10/18 04:09

投稿

tbs1010
tbs1010

スコア6

test CHANGED
File without changes
test CHANGED
@@ -12,29 +12,21 @@
12
12
 
13
13
  ### 発生している問題・エラーメッセージ
14
14
 
15
-
16
-
17
- TypeError: Hero() takes no arguments
15
+ エラーメッセージ
18
16
 
19
17
 
20
18
 
21
- エラーメッセージ
22
-
23
- 名前を入力してください: a
24
-
25
- 職業を入力してください: s
26
-
27
19
  Traceback (most recent call last):
28
20
 
29
- ***hero.py", line 44, in <module>
21
+ File "C:\Users\Tsubasa.k\Desktop\C;Python;work\hero.py", line 51, in <module>
30
22
 
31
- hero = Hero(hero_name,hero_job)
23
+ hero.sleep(20)
32
24
 
33
- TypeError: Hero() takes no arguments
25
+ File "C:\Users\Tsubasa.k\Desktop\C;Python;work\hero.py", line 22, in sleep
34
26
 
27
+ show_status(self)
35
28
 
36
-
37
- ### 該当のソースコード
29
+ NameError: name 'show_status' is not defined### 該当のソースコード
38
30
 
39
31
 
40
32
 
@@ -42,83 +34,81 @@
42
34
 
43
35
  ソースコード
44
36
 
37
+
38
+
45
39
  class Hero:
46
40
 
47
41
  another_name = '勇者'
48
42
 
43
+ def __init__(self,name,job):
49
44
 
45
+ self.name = name
50
46
 
51
- def __init__(self,name,job):
47
+ self.job =job
52
48
 
53
- self.name = name
49
+ self.exp = 0
54
50
 
55
- self.job =job
51
+ self.HP = 100
56
52
 
57
- self.exp = 0
53
+ self.MP = 30
58
54
 
59
- self.HP = 100
60
-
61
- self.MP = 30
62
-
63
- self.gold = 0
55
+ self.gold = 0
64
56
 
65
57
 
66
58
 
67
- def show_status(self):
59
+ def show_status(self):
68
60
 
69
- 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))
61
+ 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))
70
62
 
71
63
 
72
64
 
73
- def beat_slime(self):
65
+ def beat_slime(self):
74
66
 
75
- print(self.name,"はスライムを倒した!!\n3expと10ゴールドを獲得した!!\n")
67
+ print(self.name,"はスライムを倒した!!\n3expと10ゴールドを獲得した!!\n")
76
68
 
77
- self.exp += 3
69
+ self.exp += 3
78
70
 
79
- self.gold += 10
71
+ self.gold += 10
80
72
 
81
73
 
82
74
 
83
- def sleep(self,time):
75
+ def sleep(self,time):
84
76
 
85
- time = int(input('何時間寝る?'))
77
+ self.MP += time
86
78
 
87
- self.MP += time
79
+ print(self.name,'は',str(time),'時間寝た')
88
80
 
89
- print(self.name,'は',str(time),'時間寝た')
90
-
91
- show_status()
81
+ show_status()
92
82
 
93
83
 
94
84
 
95
- def fireball(self):
85
+ def fireball(self):
96
86
 
97
- if self.MP < 10:
87
+ if self.MP < 10:
98
88
 
99
- print(self.name,"はファイアボールを唱えた!!\nしかしMPが足りない!!\n")
89
+ print(self.name,"はファイアボールを唱えた!!\nしかしMPが足りない!!\n")
100
90
 
101
- else:
91
+ else:
102
92
 
103
- print(self.name,"はファイアボールを唱えた!!\n周囲が焼き尽くされてしまった!!\n")
93
+ print(self.name,"はファイアボールを唱えた!!\n周囲が焼き尽くされてしまった!!\n")
104
94
 
105
- self.MP -= 10
95
+ self.MP -= 10
106
96
 
107
97
 
108
98
 
109
- def damaged(self,damage):
99
+ def damaged(self,damage):
110
100
 
111
- print(self.name,'は',str(damage),'ダメージを受けた!!\n')
101
+ print(self.name,'は',str(damage),'ダメージを受けた!!\n')
112
102
 
113
- self.HP -= int(damage)
103
+ self.HP -= int(damage)
114
104
 
115
- if self.HP < 1:
105
+ if self.HP < 1:
116
106
 
117
- print(self.name,'は死んでしまった!!\n')
107
+ print(self.name,'は死んでしまった!!\n')
118
108
 
119
- else:
109
+ else:
120
110
 
121
- pass
111
+ pass
122
112
 
123
113
 
124
114
 
@@ -150,19 +140,13 @@
150
140
 
151
141
  hero.sleep(40)
152
142
 
153
- hero.show_status()
154
-
155
143
  hero.damaged(100)
156
-
157
-
158
144
 
159
145
 
160
146
 
161
147
  ### 試したこと
162
148
 
163
149
 
164
-
165
- ここに問題に対して試したことを記載してください。
166
150
 
167
151
  どうすればエラーが解消するのか分かりません
168
152