2017-06-29 2 views
-4
spielen

Ich versuche, eine einfache Tic-Tac-Toe-Simulation zu erstellen, wo 2 Spieler spielen können, bis einer von ihnen gewinnt oder das Board voll ist. Ich habe eine einfache Struktur von allem bisher gemacht. Ich brauche Hilfe, die es simuliert. (P.S. Im a noob, also bitte rücksichtsvoll sein)JAVA: Wie kann ich Tic-Tac-Toe mit meinem Code

public class tictactoe { 

    public static void main(String[] args) { 
     int[][] board = new int[3][3]; 
     Random r = new Random(12); 
     for (int row = 0; row < board.length; row++) { 
      for (int col = 0; col < board[row].length; col++) { 
       board[row][col]= r.nextInt(3); 
      } 
     } 
     PrintBoard(board); 
     boolean xwinner = CheckWin(1,board); 
     boolean owinner = CheckWin(2,board); 
     System.out.println(xwinner + "-" + owinner); 
    } 
    public static boolean CheckWin(int player ,int[][] inboard){ 
     int PCNT; 
     for (int row = 0; row < inboard.length; row++) { 
      PCNT = 0; 
      for (int col = 0; col < inboard[row].length; col++) { 
       if (inboard[row][col]== player) { PCNT++;} 
      } 
      if (PCNT==3) {return true;} 
     } 
     return false; 
    } 
    public static void PrintBoard(int[][] inboard){ 
     String letter=""; 
     for (int row = 0; row < inboard.length; row++) { 
      for (int col = 0; col < inboard[row].length; col++) { 
       switch(inboard[row][col]) { 
       case 0: letter= " "; break; 
       case 1: letter= "X"; break; 
       case 2: letter= "O"; break; 
       } 
       System.out.print(letter + " "); 
      } 
      System.out.println(""); 
     } 
    } 

} 
+0

Blick in Unit-Tests (JUnit) eine Art von Simulation zu erstellen, –

+2

Welche Frage stellen Sie.? – Peri461

+0

Die Frage ist nicht klar; bitte sehen Sie [fragen] und vor allem [Warum ist "Kann mir jemand helfen?" keine eigentliche Frage?] (http://meta.stackoverflow.com/q/284236) – EJoshuaS

Antwort

1

Anders als z.B. Schach, TTT ist ein endliches Spiel. Mit anderen Worten, es ist so einfach, dass Sie keine Strategie implementieren müssen. Lasst uns einfach die Felder zählen, wie "1" das am weitesten links liegende Feld und "5" das mittlere Feld ist. Sie können nun die Regeln noch weiter vereinfachen, denn "1", "3", "7" und "9" sind Eckfelder, während "2", "4", "6", "8" Kantenfelder sind und "5" ist das mittlere Feld. Aus der Sicht eines Eckfeldes sind nur 5 verschiedene Bewegungen möglich: das angrenzende Randfeld, das zu derselben Kante gehörende Eckfeld, das Randfeld, das nicht zur selben Kante gehört, das Eckfeld quer und das mittlere Feld. Sagen wir "1" ist das Eckfeld, dann wären die erwähnten Felder "2", "3", "6", "5" und "9". Alles andere ist reine Symmetrie, wie mathematisch in einem einfachen Quadrat.

Für den Rest gibt es Tonnen Quellen, google für "Tic Tac Toe Strategie".

Für eine aufwändigere Suche nach einem Spiel in der Codierung versuchen "Othello"/"Reversi";)

Verwandte Themen