( ) ;
String speler = " X " ;
openbare TicTacToeGame
( ) { }
public void checkWinner
( ) { }
public void actionPerformed ( ActionEvent e ) { }
public static void main
( String [ ] args ) { nieuwe TicTacToeGame ( ) ; } }
3
Bouw de constructeur . Deze methode met dezelfde naam als de klasse zelf , in dit geval " TicTacToeGame ( ) . " Het wordt de constructor , omdat het wordt gebruikt om het programma te bouwen en bereiden worden uitgevoerd . Plak de volgende code om het te bouwen :
openbare TicTacToeGame
( ) { //Setup a JFrame window.super ( ) ;
//Gebruik een raster indeling , met drie kolommen en drie rijen , aangezien dit TicTacToe , this.setLayout (nieuw GridLayout ( 3,3 ) ) ;
//Vul elke ruimte op het rooster met een button.for ( int x = 0 ; x < 9 ; x + + ) { JButton temp = new JButton ( " - " ) ; squares.add ( temp ) ; temp.addActionListener ( this); this.add ( temp ) ; }
//de grootte van het venster om alles passend te maken , //en de gebruikersinterface Goedkope 4
Maak de " actionPerformed " -methode . Deze methode wordt aangeroepen wanneer de gebruiker iets in je applicatie doet . Het biedt u een " ActionEvent " object , en u kunt dit object inspecteren om uit te zoeken wat de gebruiker heeft , en dienovereenkomstig reageren . Plak deze code :
public void actionPerformed ( ActionEvent e ) { //Voor alle knoppen in het spel grid.for ( JButton vierkant : vierkanten ) { //Als de knop geklikt was de bron van het evenement . if ( square.equals ( e.getSource ( ) ) ) { //Zet de knop op de brief van de speler , X of O.square.setText ( speler) ;
//Verander aan de beurt aan de volgende speler . if ( player.equals ( " X " ) ) speler = " O " ; anders player = " X " ; }
}
//Controleer om te zien of iemand heeft won.checkWinner ( ) ;
}
5
Maak de " checkWinner " -methode door de volgende code te plakken :
public void checkWinner ( ) op {
//Haal de inhoud van de board.String [ ] board = new String [ 9 ] ;
//Stel de winnaar naar de lege ruimte , - String winnaar = " - " " . " ;
voor ( int x = 0 ; x < 9 ; x + + ) { board [ x ] = squares.get ( x ) getText ( ) ; System.out.println ( x + . " : " + board [ x ] ) ; }
//Controleer of de bovenste rij is vol van dezelfde letter //Als het is, dan is die speler heeft won.if ( board [ 0 ] is gelijk aan ( board [ 1 ] . ) && . . board [ 0 ] is gelijk aan ( board [ 2] ) ) { winnaar = board [ 0 ] ; } . else //Midden Rowif ( . board [ 3 ] is gelijk aan ( board [ 4 ] ) && board [ 3 ] is gelijk aan ( board [ ,"5 ] ) ) { winnaar = board [ 3 ] ; } . . else //Bottom rowif ( board [ 6 ] is gelijk aan ( board [ 7 ] ) && board [ 6 ] is gelijk aan ( board [ 8 ] ) ) { winnaar = board [ ,"6 ] ; } else //Links columnif ( . . board [ 0 ] is gelijk aan ( board [ 3 ] ) && board [ 0 ] is gelijk aan ( board [ 6 ] ) ) { winnaar = board [ 0 ] ; } else //Midden columnif ( . . board [ 1 ] is gelijk aan ( board [ 4 ] ) && board [ 1 ] is gelijk aan ( board [ 7 ] ) ) { winnaar = board [ 1 ] ; } . else //Rechter columnif ( board [ 2 ] is gelijk aan ( board . [ 5 ] ) && board [ 6 ] is gelijk aan ( board [ 8 ] ) ) { winnaar = board [ 2 ] ; } . else //Top - Links, Midden , Rechtsonder Diagonalif ( board [ 0 ] is gelijk aan ( board [ 4 . ] ) && board [ 0 ] is gelijk aan ( board [ 8 ] ) ) { winnaar = board [ 0 ] ; } . else //Top - rechts, midden , linksonder Diagonalif ( board [ 2 ] is gelijk aan ( board [ 4 ] ) . && board [ 2 ] is gelijk aan ( board [ 6 ] ) ) { winnaar = board [ 2 ] ; }
//Als de winnaar is niet de lege ruimte " - , " //dan iemand heeft gewonnen . Feliciteer hen //en eindigt de game.if ( winner.equals ( " - " ) ) { JOptionPane.showMessageDialog ( rootPane , " De winnaar is " + winnaar ) ; System.exit ( 0 ) ; } }
< br >