質問編集履歴

3

質問+プログラムの修正

2018/06/19 01:12

投稿

tvivo
tvivo

スコア16

test CHANGED
File without changes
test CHANGED
@@ -62,7 +62,11 @@
62
62
 
63
63
  といった感じのざっくりとしたフローはかけたのですが
64
64
 
65
+ プログラムがうまく書けません。
66
+
67
+ 主にダメージ計算がわかりません。
68
+
65
- うまく書けません。現在はこのような感じになっています。
69
+ 現在はこのような感じになっています。
66
70
 
67
71
  どなたか教えてくださる方よろしくお願いいたします。
68
72
 
@@ -74,63 +78,99 @@
74
78
 
75
79
  public class Main {
76
80
 
77
- public static void main(String[] args) {
81
+ public static void main(String[] args) throws NumberFormatException, IOException {
78
82
 
79
83
  Braver b = new Braver();
80
84
 
81
85
  Enemy e = new Enemy();
82
86
 
87
+ b.setName("Braver");
88
+
89
+ e.setEnemyname("Enemy");
90
+
91
+
92
+
83
93
  System.out.println("敵に遭遇しました。");
84
94
 
85
95
  while(e.getEnemyHP() <= 0 || b.getHP() <= 0){
86
96
 
97
+ try {
98
+
87
- for(int i = 0; i<2; i++){
99
+ for(int i = 0; i<2; i++){
88
-
100
+
89
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
101
+ BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
90
-
102
+
91
- int num = Integer.parseInt(br.readLine());
103
+ int num = Integer.parseInt(br.readLine());
92
-
104
+
93
- System.out.println("勇者の行動 1:たたかう 2:まほう 3:にげる");
105
+ System.out.println(b.name+"の行動1:たたかう 2:まほう 3:にげる");
94
-
95
-
96
-
106
+
97
- switch(num){
107
+ switch(num){
98
-
108
+
99
- case 1:
109
+ case 1:
100
-
110
+
101
- System.out.println("たたかう");
111
+ System.out.println("たたかう");
102
-
112
+
103
- System.out.println("に10のダメージを与えた");
113
+ System.out.println(e.getEnemyname()+"に10のダメージを与えた");
114
+
115
+
116
+
104
-
117
+ if(e.getEnemyHP() <= 0){
118
+
119
+ break;
120
+
121
+ }
122
+
123
+
124
+
125
+
126
+
105
- case 2:
127
+ case 2:
106
-
128
+
107
- System.out.println(("魔法"));
129
+ System.out.println(("魔法"));
108
-
130
+
109
- System.out.println("に20のダメージを与えた");
131
+ System.out.println(e.getEnemyname()+"に20のダメージを与えた");
132
+
110
-
133
+ if(e.getEnemyHP() <= 0){
134
+
135
+ break;
136
+
137
+ }
138
+
111
- case 3:
139
+ case 3:
112
-
140
+
113
- System.out.println(("にげる"));
141
+ System.out.println(("にげる"));
114
-
142
+
115
- System.out.println("勇者は逃げ出した");
143
+ System.out.println(b.getName()+"は逃げ出した");
116
-
144
+
117
- break;
145
+ break;
146
+
147
+ }
148
+
149
+ System.out.println(e.getEnemyname()+"の行動");
150
+
151
+ if(i == 1){
152
+
153
+ System.out.println(e.getEnemyname()+"の攻撃");
154
+
155
+
156
+
157
+ System.out.println(b.getName()+"に25のダメージ");
158
+
159
+ if(b.getHP() <= 0){
160
+
161
+ break;
162
+
163
+ }
164
+
165
+ }
166
+
167
+ System.out.println("何もしなかった");
118
168
 
119
169
  }
120
170
 
171
+ } catch (Exception e1) {
172
+
121
- System.out.println("敵の行動");
173
+ e1.printStackTrace();
122
-
123
- if(i == 1){
124
-
125
- System.out.println("敵の攻撃");
126
-
127
-
128
-
129
- System.out.println("勇者に25のダメージ");
130
-
131
- }
132
-
133
- System.out.println("何もしなかった");
134
174
 
135
175
  }
136
176
 

2

プログラム

2018/06/19 01:12

投稿

tvivo
tvivo

スコア16

test CHANGED
File without changes
test CHANGED
@@ -76,9 +76,13 @@
76
76
 
77
77
  public static void main(String[] args) {
78
78
 
79
+ Braver b = new Braver();
80
+
81
+ Enemy e = new Enemy();
82
+
79
83
  System.out.println("敵に遭遇しました。");
80
84
 
81
- while(getEnemyHP() <= 0 || getHP() <= 0){
85
+ while(e.getEnemyHP() <= 0 || b.getHP() <= 0){
82
86
 
83
87
  for(int i = 0; i<2; i++){
84
88
 

1

プログラムの修正

2018/06/19 00:43

投稿

tvivo
tvivo

スコア16

test CHANGED
File without changes
test CHANGED
@@ -62,6 +62,162 @@
62
62
 
63
63
  といった感じのざっくりとしたフローはかけたのですが
64
64
 
65
- うまく書けません。
65
+ うまく書けません。現在はこのような感じになっています。
66
66
 
67
67
  どなたか教えてくださる方よろしくお願いいたします。
68
+
69
+
70
+
71
+ ```Java
72
+
73
+
74
+
75
+ public class Main {
76
+
77
+ public static void main(String[] args) {
78
+
79
+ System.out.println("敵に遭遇しました。");
80
+
81
+ while(getEnemyHP() <= 0 || getHP() <= 0){
82
+
83
+ for(int i = 0; i<2; i++){
84
+
85
+ BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
86
+
87
+ int num = Integer.parseInt(br.readLine());
88
+
89
+ System.out.println("勇者の行動 1:たたかう 2:まほう 3:にげる");
90
+
91
+
92
+
93
+ switch(num){
94
+
95
+ case 1:
96
+
97
+ System.out.println("たたかう");
98
+
99
+ System.out.println("敵に10のダメージを与えた");
100
+
101
+ case 2:
102
+
103
+ System.out.println(("魔法"));
104
+
105
+ System.out.println("敵に20のダメージを与えた");
106
+
107
+ case 3:
108
+
109
+ System.out.println(("にげる"));
110
+
111
+ System.out.println("勇者は逃げ出した");
112
+
113
+ break;
114
+
115
+ }
116
+
117
+ System.out.println("敵の行動");
118
+
119
+ if(i == 1){
120
+
121
+ System.out.println("敵の攻撃");
122
+
123
+
124
+
125
+ System.out.println("勇者に25のダメージ");
126
+
127
+ }
128
+
129
+ System.out.println("何もしなかった");
130
+
131
+ }
132
+
133
+ }
134
+
135
+ }
136
+
137
+ }
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+ public class Braver {
146
+
147
+ int HP = 100;
148
+
149
+ String name = "Braver";
150
+
151
+ public int getHP() {
152
+
153
+ return HP;
154
+
155
+ }
156
+
157
+ public void setHP(int hP) {
158
+
159
+ HP = hP;
160
+
161
+ }
162
+
163
+ public String getName() {
164
+
165
+ return name;
166
+
167
+ }
168
+
169
+ public void setName(String name) {
170
+
171
+ this.name = name;
172
+
173
+ }
174
+
175
+
176
+
177
+
178
+
179
+ }
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+ public class Enemy {
188
+
189
+ int enemyHP = 100;
190
+
191
+ String enemyname = "Enemy";
192
+
193
+ public int getEnemyHP() {
194
+
195
+ return enemyHP;
196
+
197
+ }
198
+
199
+ public void setEnemyHP(int enemyHP) {
200
+
201
+ this.enemyHP = enemyHP;
202
+
203
+ }
204
+
205
+ public String getEnemyname() {
206
+
207
+ return enemyname;
208
+
209
+ }
210
+
211
+ public void setEnemyname(String enemyname) {
212
+
213
+ this.enemyname = enemyname;
214
+
215
+ }
216
+
217
+
218
+
219
+ }
220
+
221
+
222
+
223
+ ```