();
String player = "X" ;
öffentlichen TicTacToeGame () {}
public void checkWinner () {} public void
actionPerformed ( ActionEvent e) {}
public static void main ( String [] args) {new TicTacToeGame ( );}}
3
Baue den Konstruktor . Dies ist die Methode mit dem gleichen Namen wie die Klasse selbst, in diesem Fall " TicTacToeGame (). " Es heißt der Konstruktor , weil es verwendet wird, um das Programm zu erstellen und bereiten Sie es ausgeführt werden soll. Fügen Sie den folgenden Code, um ihn zu bauen :
öffentlichen TicTacToeGame () { //Setup ein JFrame window.super ();
//Verwenden Sie ein Grid-Layout mit drei Spalten und drei Zeilen , da dies TicTacToe , this.setLayout (neu GridLayout (3,3) );
//Füllen Sie die einzelnen Platz auf dem Gitter mit einem button.for (int x = 0; x < 9; x + +) { JButton temp = new JButton ("-" ); squares.add (temp ); temp.addActionListener (this); this.add (temp );}
//Ändern Sie die Fenstergröße , alles fit zu machen, //und machen die Benutzeroberfläche
4
Erstellen Sie die " actionPerformed "-Methode. Diese Methode wird aufgerufen , wenn der Benutzer etwas tut in Ihrer Anwendung . Es bietet Ihnen mit einem " ActionEvent " Objekt , und Sie können dieses Objekt zu inspizieren, um herauszufinden, was der Benutzer getan hat, und entsprechend reagieren. Fügen Sie in diesem Code:
public void ( ActionEvent e) { //Für alle Tasten im Spiel grid.for ( JButton Quadrat : Quadrate) {//Wenn auf die Schaltfläche geklickt war die Quelle des Ereignisses . if ( square.equals ( e.getSource ()) ) {//Stellen Sie die Taste, um den Player Brief , X oder O.square.setText (Spieler );
//Wechsel an den nächsten Spieler an der Reihe . if ( player.equals ("X" ) ) player = "O" , sonst player = "X" ;} }
//prüfen Sie, ob jemand won.checkWinner (); }
5
erstellen Sie die " checkWinner "-Methode durch den folgenden Code einfügen :
public void checkWinner () {
//Holen Sie sich den Inhalt des board.String [ ] board = new String [ 9] ;
//Stellen Sie die Gewinner der Leerstelle , - String Gewinner = "-" " . ";
for (int x = 0; x < 9; x + +) { board [ x] = squares.get (x) getText (); System.out.println ( x + . ":" + board [ x] );}
//Prüfen, ob die obere Reihe ist voll von dem gleichen Buchstaben //Wenn ja, dann ist dieser Spieler won.if ( board [ 0 ] gleich ( board [ 1]. ) && hat . . board [ 0 ] gleich ( board [ 2] )) { Gewinner = board [ 0]; } . else //Middle Rowif ( . board [ 3] entspricht ( board [ 4] ) && board [ 3] entspricht ( board [ ,"5 ] )) { Gewinner = board [ 3] ;} . . else //Bottom rowif ( board [ 6] entspricht ( board [ 7] ) && board [ 6] entspricht ( board [ 8] )) { Gewinner = board [ ,"6] ;} else //Left columnif ( . . board [ 0 ] gleich ( board [ 3] ) && board [ 0 ] gleich ( board [ 6] )) { Gewinner = board [ 0]; } else //Middle columnif ( . . board [ 1 ] gleich ( board [ 4] ) && board [ 1 ] gleich ( board [ 7] )) { Gewinner = board [ 1] ;} . else //Right columnif ( board [ 2] entspricht (board [5]. ) && board [ 6] entspricht ( board [ 8] )) { Gewinner = board [ 2] ;} . else //Top - links, Mitte , unten Rechts Diagonalif ( board [ 0 ] gleich ( board [ 4 . ] ) && board [ 0 ] gleich ( board [ 8] )) { Gewinner = board [ 0]; } . else //Top -Right , Middle , Unten links Diagonalif ( board [ 2] entspricht ( board [ 4] ) . && board [ 2] entspricht ( board [ 6] )) { Gewinner = board [ 2] ;}
//Wenn der Gewinner ist nicht der leere Raum " - , " //dann jemand gewonnen hat . Beglückwünschen Sie sie //und das Ende der game.If ( winner.equals ( "-") ) { JOptionPane.showMessageDialog ( rootPane , " Der Gewinner ist " + Sieger) ; System.exit (0); }}