質問編集履歴

3

コードが長すぎたので省略しました

2021/06/01 06:24

投稿

koutarou55478
koutarou55478

スコア1

test CHANGED
File without changes
test CHANGED
@@ -42,10 +42,6 @@
42
42
 
43
43
  ```java
44
44
 
45
- import java.util.InputMismatchException;
46
-
47
-
48
-
49
45
 
50
46
 
51
47
  public class BigOrSmall {
@@ -62,15 +58,15 @@
62
58
 
63
59
 
64
60
 
65
- //各インスタンスの宣言
61
+
66
-
62
+
67
- Chip chip; //チップ
63
+ Chip chip;
68
-
64
+
69
- Trump trump; //トランプ
65
+ Trump trump;
70
-
66
+
71
- Card beforeCard; //先に引くカード
67
+ Card beforeCard;
72
-
68
+
73
- Card afterCard; //後に引いたカード
69
+ Card afterCard;
74
70
 
75
71
 
76
72
 
@@ -78,17 +74,17 @@
78
74
 
79
75
 
80
76
 
81
- trump = new Trump();//トランプのシャッフル
77
+ trump = new Trump();
82
-
78
+
83
- chip = new Chip();//チップのセット
79
+ chip = new Chip();
84
-
85
-
86
-
80
+
81
+
82
+
87
- afterCard = trump.draw();//最初のカードを引
83
+ afterCard = trump.draw();く
88
-
89
-
90
-
84
+
85
+
86
+
91
- Display.startGame(chip, afterCard); //Displayにあるゲーム開始メッセージを表示
87
+ Display.startGame(chip, afterCard);
92
88
 
93
89
 
94
90
 
@@ -100,7 +96,7 @@
100
96
 
101
97
 
102
98
 
103
- afterCard = trump.draw();//次のカードを引く
99
+ afterCard = trump.draw();
104
100
 
105
101
 
106
102
 
@@ -122,7 +118,7 @@
122
118
 
123
119
 
124
120
 
125
- //勝ったときにbetを増やす
121
+
126
122
 
127
123
  this.bet = chip.winChip(bet);
128
124
 
@@ -142,7 +138,7 @@
142
138
 
143
139
  if (continueBet()) {
144
140
 
145
- //ここがtrueならゲームを続ける
141
+
146
142
 
147
143
  continue;
148
144
 
@@ -190,55 +186,57 @@
190
186
 
191
187
 
192
188
 
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
193
- public void inputBet() {
197
+ public boolean continueGame() { //ゲームを続けるかどうか
194
198
 
195
199
 
196
200
 
197
201
  while (true) {
198
202
 
203
+
204
+
205
+ System.out.println("[ゲームを継続しますか?]: 0:Yes 1:No");
206
+
207
+
208
+
199
- try {
209
+ if (chip.getTotalChip() == 0) {//チップ無くなったら終わり
200
-
201
-
202
-
210
+
203
- Display.recestBetMessege();
211
+ System.out.println("チップが0枚になりました");
212
+
204
-
213
+ return false;
214
+
215
+ }
216
+
217
+
218
+
205
- int bet = new java.util.Scanner(System.in).nextInt();
219
+ String yesNo = new java.util.Scanner(System.in).nextLine();
220
+
221
+
222
+
206
-
223
+ if (yesNo.equals("0")) {//ゲームを続けるとき
224
+
225
+ System.out.println("Yes");
226
+
207
- if (bet > 20) {
227
+ return true;
228
+
208
-
229
+ } else if (yesNo.equals("1")) {//ゲームをやめるとき時
230
+
231
+ System.out.println("No");
232
+
233
+ return false;
234
+
235
+ } else {
236
+
209
- System.out.println("BETすチップ20以下でお願します。");
237
+ System.out.println("半角数字の0あ1のみ入力してください");
210
-
238
+
211
- continue;
239
+ continue;
212
-
213
- } else if (bet < 1) {
214
-
215
- System.out.println("BETするチップは1以上でお願いします。");
216
-
217
- continue;
218
-
219
- } else if (chip.getTotalChip() < bet) {
220
-
221
- System.out.println("BETするチップポイントは総計のチップポイント以下で入力してください");
222
-
223
-
224
-
225
- } else {
226
-
227
- this.bet = bet;
228
-
229
- chip.setChips(-(bet));
230
-
231
- break;
232
-
233
- }
234
-
235
-
236
-
237
- } catch (InputMismatchException e) {
238
-
239
- System.out.println("数値でない値が入力されています");
240
-
241
-
242
240
 
243
241
  }
244
242
 
@@ -250,160 +248,52 @@
250
248
 
251
249
 
252
250
 
253
- public void inputChoise() {
251
+ public boolean continueBet() { //ゲームに勝利して、獲得したチップでゲームを続けるかどうか
254
-
255
-
252
+
253
+
256
254
 
257
255
  while (true) {
258
256
 
259
- try {
257
+
260
-
261
-
262
-
258
+
263
- Display.recestChoiseMessege(beforeCard);
259
+ System.out.println("[獲得したチップ" + bet + "枚でBig Or Smallを続けますか?]: 0:Yes 1:No");
264
-
265
-
266
-
260
+
261
+
262
+
267
- String choise = new java.util.Scanner(System.in).nextLine();
263
+ String yesNo = new java.util.Scanner(System.in).nextLine();
268
-
269
-
270
-
264
+
265
+
266
+
271
- if (choise.equals("0")) {//Bigの時
267
+ if (yesNo.equals("0")) {//続けるとき
272
-
268
+
273
- System.out.println("Big");
269
+ System.out.println("Yes");
274
-
275
- this.choise = "Big";
270
+
276
-
277
- break;
271
+ return true;
278
-
272
+
279
- } else if (choise.equals("1")) {//Smallの時
273
+ } else if (yesNo.equals("1")) {//続けないとき
280
-
274
+
281
- System.out.println("Small");
275
+ System.out.println("No");
282
-
276
+
283
- this.choise = "Small";
277
+ chip.setChips(+(bet));
284
-
278
+
285
- break;
279
+ return false;
286
-
280
+
287
- } else {
281
+ } else {
288
-
282
+
289
- System.out.println("半角数字の0あるいは1のみ入力してください");
283
+ System.out.println("半角数字の0あるいは1のみ入力してください");
290
-
284
+
291
- continue;
285
+ continue;
292
-
293
- }
294
-
295
- } catch (InputMismatchException e) {
296
-
297
- System.out.println("数値でない値が入力されています");
298
286
 
299
287
  }
300
288
 
301
289
  }
302
290
 
291
+
292
+
303
293
  }
304
294
 
305
295
 
306
296
 
307
- public boolean continueGame() { //ゲームを続けるかどうか
308
-
309
-
310
-
311
- while (true) {
312
-
313
-
314
-
315
- System.out.println("[ゲームを継続しますか?]: 0:Yes 1:No");
316
-
317
-
318
-
319
- if (chip.getTotalChip() == 0) {//チップ無くなったら終わり
320
-
321
- System.out.println("チップが0枚になりました");
322
-
323
- return false;
324
-
325
- }
326
-
327
-
328
-
329
- String yesNo = new java.util.Scanner(System.in).nextLine();
330
-
331
-
332
-
333
- if (yesNo.equals("0")) {//ゲームを続けるとき
334
-
335
- System.out.println("Yes");
336
-
337
- return true;
338
-
339
- } else if (yesNo.equals("1")) {//ゲームをやめるとき時
340
-
341
- System.out.println("No");
342
-
343
- return false;
344
-
345
- } else {
346
-
347
- System.out.println("半角数字の0あるいは1のみ入力してください");
348
-
349
- continue;
350
-
351
- }
352
-
353
- }
354
-
355
-
356
-
357
- }
358
-
359
-
360
-
361
- public boolean continueBet() { //ゲームに勝利して、獲得したチップでゲームを続けるかどうか
362
-
363
-
364
-
365
- while (true) {
366
-
367
-
368
-
369
- System.out.println("[獲得したチップ" + bet + "枚でBig Or Smallを続けますか?]: 0:Yes 1:No");
370
-
371
-
372
-
373
- String yesNo = new java.util.Scanner(System.in).nextLine();
374
-
375
-
376
-
377
- if (yesNo.equals("0")) {//続けるとき
378
-
379
- System.out.println("Yes");
380
-
381
- return true;
382
-
383
- } else if (yesNo.equals("1")) {//続けないとき
384
-
385
- System.out.println("No");
386
-
387
- chip.setChips(+(bet));
388
-
389
- return false;
390
-
391
- } else {
392
-
393
- System.out.println("半角数字の0あるいは1のみ入力してください");
394
-
395
- continue;
396
-
397
- }
398
-
399
- }
400
-
401
-
402
-
403
- }
404
-
405
-
406
-
407
297
 
408
298
 
409
299
 

2

試したことの編集

2021/06/01 06:24

投稿

koutarou55478
koutarou55478

スコア1

test CHANGED
File without changes
test CHANGED
@@ -422,6 +422,20 @@
422
422
 
423
423
  詰まってしまっています
424
424
 
425
+ 一回目のゲームに勝ち、なおかつゲームを進めるという条件を満たせば
426
+
427
+ inputBetを飛ばす処理にしたかったので、
428
+
429
+ if(beforeCard.isBig(afterCard)&&yesNo.equals("0")){
430
+
431
+ }else{
432
+
433
+ inputBet();//★
434
+
435
+ }
436
+
437
+ という文を書いてみましたが上手くいきませんでした。
438
+
425
439
 
426
440
 
427
441
  ### 補足情報(FW/ツールのバージョンなど)

1

タイトルを変更いたしました。

2021/05/27 21:22

投稿

koutarou55478
koutarou55478

スコア1

test CHANGED
@@ -1 +1 @@
1
- コードにつ
1
+ プ文で帰ってきたときに特定場所だけ飛ばした
test CHANGED
File without changes