質問編集履歴

2

全容を公開いたしました。まわりくどくてすいません。

2019/12/12 01:32

投稿

rutus
rutus

スコア7

test CHANGED
File without changes
test CHANGED
@@ -24,46 +24,280 @@
24
24
 
25
25
 
26
26
 
27
+ package aaa;
28
+
29
+ import java.awt.BorderLayout;
30
+
31
+ import java.awt.event.ActionEvent;
32
+
33
+ import java.awt.event.ActionListener;
34
+
35
+
36
+
37
+ import javax.swing.JButton;
38
+
39
+ import javax.swing.JComboBox;
40
+
41
+ import javax.swing.JFrame;
42
+
43
+ import javax.swing.JLabel;
44
+
45
+ import javax.swing.JPanel;
46
+
47
+
48
+
49
+ public class GameScreen extends JFrame implements ActionListener {
50
+
51
+
52
+
53
+
54
+
55
+ int answer[]= new int[3];
56
+
57
+
58
+
59
+ int count = 0, hit =0 ,blow =0;
60
+
61
+
62
+
63
+ JComboBox<Integer> btn1 = new JComboBox<Integer>();
64
+
65
+ JComboBox<Integer> btn2 = new JComboBox<Integer>();
66
+
67
+ JComboBox<Integer> btn3 = new JComboBox<Integer>();
68
+
69
+
70
+
71
+ public void init() {
72
+
73
+
74
+
75
+ this.setTitle("game");
76
+
77
+
78
+
79
+ //フレームの設定(タイトル・サイズ・位置
80
+
81
+ this.setTitle("game");
82
+
83
+ this.setBounds(100, 100, 400, 300);
84
+
85
+ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
86
+
87
+
88
+
89
+
90
+
91
+ JPanel ps = new JPanel();
92
+
93
+ JPanel pn = new JPanel();
94
+
95
+
96
+
97
+
98
+
99
+ JLabel label1 = new JLabel("?");
100
+
101
+ JLabel label2 =new JLabel("?");
102
+
103
+ JLabel label3 =new JLabel("?");
104
+
105
+ JLabel label4 = new JLabel("");
106
+
107
+ JLabel label5 = new JLabel("");
108
+
109
+ label4.setText(String.valueOf(hit));
110
+
111
+ label5.setText(String.valueOf(blow));
112
+
113
+
114
+
115
+
116
+
117
+ pn.add(label1);
118
+
119
+ pn.add(label2);
120
+
121
+ pn.add(label3);
122
+
123
+ this.getContentPane().add(pn,BorderLayout.NORTH);
124
+
125
+ ps.add(label4);
126
+
127
+ ps.add(label5);
128
+
129
+ this.getContentPane().add(ps,BorderLayout.SOUTH);
130
+
131
+
132
+
133
+
134
+
135
+ for(int i=1; i<=6; i++) {
136
+
137
+ btn1.addItem(i);
138
+
139
+ btn2.addItem(i);
140
+
141
+ btn3.addItem(i);
142
+
143
+ }
144
+
145
+
146
+
147
+ JButton btn4 = new JButton("チェック");
148
+
149
+ btn4.addActionListener(this);
150
+
151
+
152
+
153
+ ps.add(btn1);
154
+
155
+ ps.add(btn2);
156
+
157
+ ps.add(btn3);
158
+
159
+ ps.add(btn4);
160
+
161
+
162
+
163
+ this.getContentPane().add(ps,BorderLayout.SOUTH);
164
+
165
+ this.setVisible(true);
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+ for (int i = 0; i < answer.length; i++) {
174
+
175
+ boolean sw = false;
176
+
177
+ answer[i] = (int) (Math.random() * 6 + 1);
178
+
179
+ do { sw = false;
180
+
181
+ for (int j = i - 1; j >= 0; j--) {
182
+
183
+ if (answer[i] == answer[j]) {
184
+
185
+ sw= true;
186
+
187
+ answer[i] = (int) (Math.random() * 6 + 1);
188
+
189
+ }
190
+
191
+ }
192
+
193
+ } while (sw == true);
194
+
195
+ }
196
+
197
+ }
198
+
199
+
200
+
201
+ @Override
202
+
203
+ public void actionPerformed(ActionEvent e) {
204
+
205
+ // TODO 自動生成されたメソッド・スタブ
206
+
207
+
208
+
209
+
210
+
211
+ JButton btn = (JButton)e.getSource();
212
+
213
+ String txt = btn.getText();
214
+
215
+ if (txt.equals("チェック")) {
216
+
217
+ //入力された値を取り出す
218
+
219
+ Integer data1 = (Integer)btn1.getSelectedItem();
220
+
221
+ Integer data2 = (Integer)btn2.getSelectedItem();
222
+
223
+ Integer data3 = (Integer)btn3.getSelectedItem();
224
+
225
+ //答えの数字3つと、入力された数字3つを答え合わせする。
226
+
227
+
228
+
229
+ //配列設定
230
+
231
+ int datas [] = new int[3];
232
+
233
+ datas[0] = data1;
234
+
235
+ datas[1] = data2;
236
+
237
+ datas[2] = data3;
238
+
239
+
240
+
27
- hit = 0
241
+ hit = 0;
28
-
242
+
29
- blow = 0;
243
+ blow = 0;
30
-
244
+
31
- count = 0;
245
+ count = 0;
32
-
33
- //ここから
246
+
247
+
34
248
 
35
249
  for (int i = 0; i < answer.length; i++) {
36
250
 
37
- for (int j = 0; j < answer.length; j++) {
251
+ for (int j = 0; j < answer.length; j++) {
38
-
252
+
39
-         if (i == j && datas[i] == answer[j]) {
253
+ if (i == j && datas[i] == answer[j]) {
40
-
254
+
41
- hit++;
255
+ hit++;
42
-
256
+
43
- }
257
+ }
44
-
258
+
45
-    else if (datas[i] == answer[j]) {
259
+ else if (datas[i] == answer[j]) {
46
-
260
+
47
- blow++;
261
+ blow++;
48
-
262
+
263
+
264
+
49
-     }
265
+ }
50
-
266
+
51
-        }
267
+ }
52
-
268
+
53
- }
269
+ }
54
-
55
-
56
-
270
+
271
+
272
+
57
-     } //ここまでの処理を回数指定したい。繰り返した回数をcountに入れ表示させたい。
273
+ }
58
-
59
-
60
-
274
+
275
+
276
+
61
- System.out.println("ヒット" + hit + " ブロー" + blow+" 回数"+count);
277
+ System.out.println("ヒット" + hit + " ブロー" + blow+" 回数"+count);
278
+
279
+
280
+
281
+
282
+
283
+ if (hit == 3) {
284
+
285
+ creen cls = new ClearScreen();
286
+
287
+ cls.init();//初期化。
288
+
289
+
290
+
291
+ }
292
+
293
+ }
294
+
295
+
296
+
297
+ }
62
298
 
63
299
  ```
64
300
 
65
-
66
-
67
301
  ### 試したこと
68
302
 
69
303
 

1

質問内容が拙く伝わりにくかったため、書き換えました。

2019/12/12 01:32

投稿

rutus
rutus

スコア7

test CHANGED
File without changes
test CHANGED
@@ -2,11 +2,17 @@
2
2
 
3
3
  ```
4
4
 
5
+ 現在コードブレイカーというゲームを作成しております。
5
6
 
7
+ 簡単に言いますと隠された3つの数字を当てるゲームです。
6
8
 
7
- 繰り返す回数を指定したい。
9
+ その中の処理でfor文を使い、入力された字とプログラムで作られたランダムの数字
8
10
 
11
+ 当てていくところがあるのですが
12
+
13
+ 何度目の挑戦か(入力した回数)を表示させたいです。
14
+
9
- 繰り返した回数をcount代入したい。
15
+ その中で挑戦回数を指定できるようも指定したいと考えています
10
16
 
11
17
  ```
12
18
 
@@ -23,8 +29,6 @@
23
29
  blow = 0;
24
30
 
25
31
  count = 0;
26
-
27
-
28
32
 
29
33
  //ここから
30
34