質問編集履歴
3
コードの修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -367,4 +367,4 @@
|
|
367
367
|
|
368
368
|
}
|
369
369
|
|
370
|
-
``
|
370
|
+
``````
|
2
コードの修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -296,7 +296,7 @@
|
|
296
296
|
|
297
297
|
|
298
298
|
下記追加コードです
|
299
|
-
```java
|
299
|
+
``````java
|
300
300
|
package reversi;
|
301
301
|
import java.util.*;
|
302
302
|
|
1
コードの追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -292,4 +292,79 @@
|
|
292
292
|
```
|
293
293
|
この部分のエラー表示が出て駒が置けません。
|
294
294
|
Eclipseにてブレークポイントを置いてみましたが、なぜか引っかからずに特定できません。
|
295
|
-
よろしくお願いします。
|
295
|
+
よろしくお願いします。
|
296
|
+
|
297
|
+
|
298
|
+
下記追加コードです
|
299
|
+
```java
|
300
|
+
package reversi;
|
301
|
+
import java.util.*;
|
302
|
+
|
303
|
+
public class RandomCPU {
|
304
|
+
|
305
|
+
int color; //BLACK or WHITE
|
306
|
+
|
307
|
+
public RandomCPU(){
|
308
|
+
color = -1;
|
309
|
+
}
|
310
|
+
|
311
|
+
int[] decide(GameState state){
|
312
|
+
|
313
|
+
ArrayList<int[]> array = new ArrayList<int[]>();
|
314
|
+
|
315
|
+
//盤面の空マスを置けるかチェック
|
316
|
+
for(int y=0; y<8; y++){
|
317
|
+
for(int x=0; x<8; x++){
|
318
|
+
|
319
|
+
//すでに駒があるときはパス
|
320
|
+
if(state.data[x][y] != 0)
|
321
|
+
continue;
|
322
|
+
|
323
|
+
//置けるマスのとき、候補として記憶
|
324
|
+
if(state.canReverse(x, y) == true){
|
325
|
+
int pos[] = {x,y};
|
326
|
+
array.add(pos);
|
327
|
+
}
|
328
|
+
|
329
|
+
}
|
330
|
+
}
|
331
|
+
|
332
|
+
//ランダム選択
|
333
|
+
if(array.size() <= 0){
|
334
|
+
int pos[] = {-1, -1};
|
335
|
+
return pos;
|
336
|
+
}
|
337
|
+
Random rnd = new Random();
|
338
|
+
int index = rnd.nextInt(array.size());
|
339
|
+
|
340
|
+
return array.get(index);
|
341
|
+
}
|
342
|
+
|
343
|
+
}
|
344
|
+
|
345
|
+
|
346
|
+
package reversi;
|
347
|
+
|
348
|
+
import javax.swing.*;
|
349
|
+
|
350
|
+
public class othello extends JFrame {
|
351
|
+
|
352
|
+
public othello() {
|
353
|
+
setTitle("Othello");
|
354
|
+
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
355
|
+
|
356
|
+
MainPanel panel = new MainPanel();
|
357
|
+
getContentPane().add(panel);
|
358
|
+
pack();
|
359
|
+
}
|
360
|
+
|
361
|
+
public static void main(String[] args){
|
362
|
+
|
363
|
+
othello othello= new othello();
|
364
|
+
othello.setVisible(true);
|
365
|
+
|
366
|
+
}
|
367
|
+
|
368
|
+
}
|
369
|
+
|
370
|
+
``
|