();
String player = "X "
offentlig TicTacToeGame () {}
public void checkWinner () { }
public void actionPerformed ( ActionEvent e ) { }
public static void main ( String [] args ) { ny TicTacToeGame ( );}}
3
Byg konstruktør. Dette er den metode med samme navn som klassen selv , i dette tilfælde " TicTacToeGame ( ) . " Det kaldes konstruktør , fordi den bruges til at opbygge programmet og forberede den til at blive kørt . Indsæt følgende kode til at bygge det : Hej
offentlig TicTacToeGame () { //Setup a JFrame window.super ();
//Brug et gitter layout med tre kolonner og tre rækker , da dette er TicTacToe , this.setLayout (ny GridLayout (3,3 )),
//Fyld hver plads på nettet med en af knappen ( int x = 0; x < 9, x + +) { JButton temp = new JButton ("- "); squares.add ( temp ), temp.addActionListener ( dette) this.add ( temp );}
//Resize vinduet for at gøre alting passer, //og gøre brugergrænsefladen
4
Opret " actionPerformed "-metoden. Denne metode kaldes , når brugeren gør noget i din ansøgning . Det giver dig med en " ActionEvent " objekt , og du kan inspicere dette objekt til at finde ud af, hvad brugeren gjorde, og reagere i overensstemmelse hermed . Indsæt i denne kode : Hej
public void actionPerformed ( ActionEvent e ) { //For alle knapperne i spillet grid.for ( JButton kvadrat : firkanter ) {//Hvis knappen klikkede var kilden af begivenheden . if ( square.equals ( e.getSource () )) { //Sæt knappen til spillerens brev , X eller O.square.setText (spiller ),
//Skift til den næste spillers tur . if ( player.equals ( "X") ) spiller = " O " , ellers spiller = "X" ;}
}
//Kontroller, om nogen har won.checkWinner ();
}
5
Opret " checkWinner "-metoden ved at indsætte følgende kode : Hej
public void checkWinner () {
//Hent indholdet af board.String [ ] board = new String [9 ]
//Sæt vinder til den tomme plads , - String vinder = " - " " ."
for (int x = 0 , x < 9 , x + + ) { bord [ x ] = squares.get ( x ) getText (); System.out.println ( x + . ":" + board [ x ] );}
//Tjek om den øverste række er fuld af det samme bogstav //Hvis det er, så har denne spiller won.if ( bord [0] er lig med ( bord [ 1]. ) && . . board [0] er lig med ( bord [2] )) { vinder = bord [0] ;} . else //Middle Rowif ( . board [3] er lig med ( bord [4] ) && board [3] er lig med ( bord [ ,"5] )) { vinder = bord [3] ;} . . else //Bund rowif ( board [6] er lig med ( bord [7] ) && board [6] er lig med ( bord [8] )) { vinder = bord [ ,"6] ;} else //Venstre columnif ( . . board [0] er lig med ( bord [3 ]) && board [0] er lig med ( bord [6] )) { vinder = bord [0] ;} else //Middle columnif ( . . board [1] er lig med ( bord [4] ) && board [1] er lig med ( bord [7] )) { vinder = bord [1] ;} . ellers //Right columnif ( board [2] er lig med ( bord [5]. ) && board [6] er lig med ( bord [8] )) { vinder = bord [2] ;} . else //Top - Venstre, Midt Bund Højre Diagonalif ( board [0] er lig med ( bord [4 . ]) && board [0] er lig med ( bord [8] )) { vinder = bord [0] ;} . else //Top -Right , Mellemøsten , nederst til venstre Diagonalif ( board [2] er lig med ( bord [4] ) . && board [2] er lig med ( bord [6] )) { vinder = bord [2] ;}
//Hvis vinderen ikke er den tomme plads " - ", //så nogen har vundet . Lykønske dem //og afslutte game.if ( winner.equals ( "-") !) { JOptionPane.showMessageDialog ( rootPane " Vinderen er " + vinder) , System.exit (0) ;}}
< br >