質問編集履歴
3
文法の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -10,9 +10,13 @@
|
|
10
10
|
|
11
11
|
下記のようなプログラミングを作りたいのですが、途中でつまずいてしまいました。
|
12
12
|
|
13
|
-
どなたか手助けお願いいたします。
|
13
|
+
どなたか手助けお願いいたします。
|
14
14
|
|
15
|
+
このソースだと、score(所持金)が0になっても、ラウンドが経過してしまいます。
|
16
|
+
|
17
|
+
なぜでしょうか?
|
18
|
+
|
15
|
-
|
19
|
+
また、ここはこうしたほうがいいよというアドバイスがあればお願いいたします。
|
16
20
|
|
17
21
|
|
18
22
|
|
2
書式の改善、少しプログラムを進めました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -17,8 +17,6 @@
|
|
17
17
|
|
18
18
|
|
19
19
|
```
|
20
|
-
|
21
|
-
package jp.hermes.main.game_a;
|
22
20
|
|
23
21
|
|
24
22
|
|
1
このソースだと、scoreが0になっても続いてしまうのですがなぜでしょうか?(while文で所持金が0になった時点で終了にしなければいけない。)
test
CHANGED
File without changes
|
test
CHANGED
@@ -16,7 +16,15 @@
|
|
16
16
|
|
17
17
|
|
18
18
|
|
19
|
+
```
|
20
|
+
|
21
|
+
package jp.hermes.main.game_a;
|
22
|
+
|
23
|
+
|
24
|
+
|
19
25
|
import java.util.Random;
|
26
|
+
|
27
|
+
|
20
28
|
|
21
29
|
public class DiceGame {
|
22
30
|
|
@@ -30,55 +38,93 @@
|
|
30
38
|
|
31
39
|
int score = 1000;
|
32
40
|
|
33
|
-
|
41
|
+
int b;
|
34
42
|
|
43
|
+
String a;
|
44
|
+
|
45
|
+
while (i < 5 || score <= 0) {
|
46
|
+
|
35
|
-
Random rnd = new Random();
|
47
|
+
Random rnd = new Random();
|
36
48
|
|
37
49
|
|
38
50
|
|
39
|
-
System.out.println((i + 1) + "回目の処理です。現在の所持金"+score+"円");
|
51
|
+
System.out.println((i + 1) + "回目の処理です。現在の所持金" + score + "円");
|
40
52
|
|
41
|
-
i++;
|
53
|
+
i++;
|
42
54
|
|
43
|
-
System.out.println("サイコロを2つ振ります");
|
55
|
+
System.out.println("サイコロを2つ振ります");
|
44
56
|
|
45
|
-
System.out.println("合計の数が偶数(even)か奇数(odd)かを予想してください");
|
57
|
+
System.out.println("合計の数が偶数(even)か奇数(odd)かを予想してください");
|
46
58
|
|
47
59
|
|
48
60
|
|
49
|
-
|
61
|
+
while (true) {
|
50
62
|
|
51
|
-
System.
|
63
|
+
a = new java.util.Scanner(System.in).nextLine();
|
52
64
|
|
53
65
|
|
54
66
|
|
55
|
-
i
|
67
|
+
if ((a.equals("even")) || a.equals("odd")) {
|
56
68
|
|
57
|
-
|
69
|
+
break;
|
58
70
|
|
71
|
+
}
|
72
|
+
|
73
|
+
}
|
74
|
+
|
59
|
-
n
|
75
|
+
System.out.println("掛け金を入力してください。");
|
60
76
|
|
61
77
|
|
62
78
|
|
63
|
-
i
|
79
|
+
while (true) {
|
64
80
|
|
65
|
-
System.
|
81
|
+
b = new java.util.Scanner(System.in).nextInt();
|
66
82
|
|
67
|
-
}else {
|
68
83
|
|
69
|
-
System.out.println("奇数" +num+"が出ました。");
|
70
84
|
|
71
|
-
|
85
|
+
if ((b > 0 && b <= score)) {
|
72
86
|
|
73
|
-
|
87
|
+
break;
|
74
88
|
|
75
|
-
|
89
|
+
}
|
76
90
|
|
77
|
-
}
|
91
|
+
}
|
78
92
|
|
79
|
-
|
93
|
+
int num = rnd.nextInt(12);
|
80
94
|
|
95
|
+
num++;
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
if (num % 2 == 0) {
|
100
|
+
|
101
|
+
System.out.println("偶数" + num + "が出ました。");
|
102
|
+
|
103
|
+
} else {
|
104
|
+
|
105
|
+
System.out.println("奇数" + num + "が出ました。");
|
106
|
+
|
81
|
-
}
|
107
|
+
}
|
108
|
+
|
109
|
+
if ((a.equals("even")) && (num % 2 == 0)) {
|
110
|
+
|
111
|
+
System.out.println("あなたの勝ちです。掛け金" + b + "円が増え、あなたの所持金は" + (score + b) + "円になりました。");
|
112
|
+
|
113
|
+
score = score + b;
|
114
|
+
|
115
|
+
} else if ((a.equals("odd")) && (num % 2 == 1)) {
|
116
|
+
|
117
|
+
System.out.println("あなたの勝ちです。掛け金" + b + "円が増え、あなたの所持金は" + (score + b) + "円になりました。");
|
118
|
+
|
119
|
+
score = score + b;
|
120
|
+
|
121
|
+
} else {
|
122
|
+
|
123
|
+
System.out.println("あなたの負けです。掛け金" + b + "円が減り、あなたの所持金は" + (score - b) + "円になりました。");
|
124
|
+
|
125
|
+
score = score - b;
|
126
|
+
|
127
|
+
}
|
82
128
|
|
83
129
|
}
|
84
130
|
|
@@ -87,6 +133,8 @@
|
|
87
133
|
|
88
134
|
|
89
135
|
}
|
136
|
+
|
137
|
+
```
|
90
138
|
|
91
139
|
|
92
140
|
|