Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Vytvorte triedu s názvom TicTacToeGame . Ak používate vývojové prostredie Java ako Netbeans , bude existovať možnosť v ponuke Súbor na to . V opačnom prípade stačí vytvoriť textový súbor a pomenujte ju
2
Vložte nasledujúci kód do súboru " TicTacToeGame.java . " :
Import java.awt.GridLayout , import java . awt.event.ActionEvent , import java.awt.event.ActionListener , import java.util.ArrayList , import javax.swing.JButton , import javax.swing.JFrame , import javax.swing.JOptionPane ,
verejnosť trieda TicTacToeGame rozširuje JFrame implementuje ActionListener {
ArrayList String hráč = " X " ; verejné TicTacToeGame ( ) { } public void checkWinner ( ) { } public void actionPerformed ( ActionEvent e ) { } public static void main ( String [ ] args ) { new TicTacToeGame ( ) ; } } Build konštruktor . Toto je metóda s rovnakým názvom ako samotné triedy , v tomto prípade , " TicTacToeGame ( ) . " To sa nazýva konštruktor , pretože je použitý na vytvorenie programu a pripraviť ich na spustenie . Vložte nasledujúci kód postaviť : verejné TicTacToeGame ( ) { //nastavenie JFrame window.super ( ) ; //Použite rozvrhnutie mriežky , s tromi stĺpmi a tromi radmi , pretože to je TicTacToe , this.setLayout ( nový GridLayout ( 3,3 ) ) ; //Naplňte každú miesta na štartovom rošte s button.for ( int x = 0 ; x < 9 ; x + + ) { JButton temp = new JButton ( " - " ) ; squares.add ( temp ) ; temp.addActionListener ( this ) ; this.add ( temp ) ; } //Zmena veľkosti okna , aby sa všetko fit , //a , aby užívateľské rozhranie Stránka 4 Vytvorte metódu " actionPerformed " . Táto metóda je volaná vždy , keď užívateľ nemá nič do vašej aplikácie . To vám poskytuje s " ActionEvent " objekt , a môžete kontrolovať tento objekt , aby zistili , čo užívateľ urobil , a podľa toho reagovať . Vložte tento kód : public void actionPerformed ( ActionEvent e ) { //Pre všetky tlačidiel v hre grid.for ( JButton štvorcových : štvorca ) { //Ak kliknutí na tlačidlo sa zdroj udalosti . if ( square.equals ( e.getSource ( ) ) ) { //Nastavte tlačidlo na list prehrávača , X alebo O.square.setText ( hráč ) ; //Zmeniť na prelome budúci prehrávače . if ( player.equals ( " X " ) ) , hráč = " O " , inak hráč = " X " ; } } //Kontrola , či niekto má won.checkWinner ( ) ; } Vytvorte metódu " checkWinner " vložením nasledujúci kód : public void checkWinner ( ) { //Získať obsah board.String [ ] platňa = new String [ 9 ] ; //Nastavte víťaza na prázdne miesto , " - " . víťaz String = " - " ; for ( int x = 0 ; x < 9 ; x + + ) { board [ x ] = squares.get ( x ) gettext ( ) ; System.out.println ( x + . " : " + board [ x ] ) ; } //Skontrolujte , či horný rad je plná rovnakým písmenom //Ak je, potom je hráč won.if ( doska [ 0 ] sa rovná ( doska [ 1 ] . ) && . . board [ 0] sa rovná ( board [ 2 ] ) ) { víťaz = board [ 0 ] ; } else //Stredná Rowif ( . board [ 3 ] sa rovná ( platňa [ 4 ] ) && board [ 3 ] sa rovná ( board [ . ,"5 ] ) ) { víťaz = board [ 3 ] ; } .. else //Spodná rowif ( board [ 6 ] sa rovná ( board [ 7 ] ) && board [ 6 ] sa rovná ( board [ 8 ] ) ) { víťaz = board [ ,"6 ] ; } else //Ľavá columnif ( .. board [ 0 ] sa rovná ( board [ 3 ] ) && board [ 0 ] sa rovná ( board [ 6 ] ) ) { víťaz = board [ 0 ] ; } else //Stredná columnif ( . board [ 1 ] sa rovná ( board [ 4 ] ) && doska [ 1 ] sa rovná ( board [ 7 ] ) . ) { víťaz = board [ 1 ] ; } . else //Pravá columnif ( board [ 2 ] sa rovná ( doska . [ 5 ] ) && board [ 6 ] sa rovná ( board [ 8 ] ) ) { víťaz = board [ 2 ] ; } . else //Top - ľavý , stredný , vpravo dole Diagonalif ( board [ 0 ] sa rovná ( board [ 4 ] ) && doska [ 0 ] sa rovná ( board [ 8 ] ) ) { víťaz = board [ 0 ] ; } .. else //Top - Right , Middle , Vľavo dole Diagonalif ( board [ 2 ] sa rovná ( platňa [ 4 ] ) && board [ 2 ] sa rovná ( board [ 6 ] ) ) { víťaz = board [ 2 ] ; } . //Ak víťaz nie je prázdne miesto " - " , //a potom si niekto vyhral . ( ! Winner.equals ( " - " ) ) gratulujem im //a na konci game.if { JOptionPane.showMessageDialog ( rootPane , " víťaz je " + víťaz ) ; System.exit ( 0 ) ; } }
3
5