質問編集履歴

3

コードの修正

2016/03/19 15:51

投稿

sobue
sobue

スコア329

test CHANGED
File without changes
test CHANGED
@@ -736,4 +736,4 @@
736
736
 
737
737
 
738
738
 
739
- ``
739
+ ``````

2

コードの修正

2016/03/19 15:51

投稿

sobue
sobue

スコア329

test CHANGED
File without changes
test CHANGED
@@ -594,7 +594,7 @@
594
594
 
595
595
  下記追加コードです
596
596
 
597
- ```java
597
+ ``````java
598
598
 
599
599
  package reversi;
600
600
 

1

コードの追加

2016/03/19 15:51

投稿

sobue
sobue

スコア329

test CHANGED
File without changes
test CHANGED
@@ -587,3 +587,153 @@
587
587
  Eclipseにてブレークポイントを置いてみましたが、なぜか引っかからずに特定できません。
588
588
 
589
589
  よろしくお願いします。
590
+
591
+
592
+
593
+
594
+
595
+ 下記追加コードです
596
+
597
+ ```java
598
+
599
+ package reversi;
600
+
601
+ import java.util.*;
602
+
603
+
604
+
605
+ public class RandomCPU {
606
+
607
+
608
+
609
+ int color; //BLACK or WHITE
610
+
611
+
612
+
613
+ public RandomCPU(){
614
+
615
+ color = -1;
616
+
617
+ }
618
+
619
+
620
+
621
+ int[] decide(GameState state){
622
+
623
+
624
+
625
+ ArrayList<int[]> array = new ArrayList<int[]>();
626
+
627
+
628
+
629
+ //盤面の空マスを置けるかチェック
630
+
631
+ for(int y=0; y<8; y++){
632
+
633
+ for(int x=0; x<8; x++){
634
+
635
+
636
+
637
+ //すでに駒があるときはパス
638
+
639
+ if(state.data[x][y] != 0)
640
+
641
+ continue;
642
+
643
+
644
+
645
+ //置けるマスのとき、候補として記憶
646
+
647
+ if(state.canReverse(x, y) == true){
648
+
649
+ int pos[] = {x,y};
650
+
651
+ array.add(pos);
652
+
653
+ }
654
+
655
+
656
+
657
+ }
658
+
659
+ }
660
+
661
+
662
+
663
+ //ランダム選択
664
+
665
+ if(array.size() <= 0){
666
+
667
+ int pos[] = {-1, -1};
668
+
669
+ return pos;
670
+
671
+ }
672
+
673
+ Random rnd = new Random();
674
+
675
+ int index = rnd.nextInt(array.size());
676
+
677
+
678
+
679
+ return array.get(index);
680
+
681
+ }
682
+
683
+
684
+
685
+ }
686
+
687
+
688
+
689
+
690
+
691
+ package reversi;
692
+
693
+
694
+
695
+ import javax.swing.*;
696
+
697
+
698
+
699
+ public class othello extends JFrame {
700
+
701
+
702
+
703
+ public othello() {
704
+
705
+ setTitle("Othello");
706
+
707
+ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
708
+
709
+
710
+
711
+ MainPanel panel = new MainPanel();
712
+
713
+ getContentPane().add(panel);
714
+
715
+ pack();
716
+
717
+ }
718
+
719
+
720
+
721
+ public static void main(String[] args){
722
+
723
+
724
+
725
+ othello othello= new othello();
726
+
727
+ othello.setVisible(true);
728
+
729
+
730
+
731
+ }
732
+
733
+
734
+
735
+ }
736
+
737
+
738
+
739
+ ``