();
Cordas jogador = " X ";
TicTacToeGame pública () {}
checkWinner public void () {}
public void actionPerformed ( ActionEvent e) {}
públicas void main ( string [ ] args ) { novo estáticos ( TicTacToeGame );}}
3
Construir o construtor. Este é o método com o mesmo nome que o próprio classe , neste caso , " TicTacToeGame ( ) . " Ele é chamado o construtor , porque ele é usado para construir o programa e prepará-lo para ser executado . Cole o seguinte código para construí-lo :
TicTacToeGame pública ( ) {//Configurar uma window.super JFrame ();
//Use um layout de grade , com três colunas e três linhas , uma vez que esta é TicTacToe , this.setLayout ( new GridLayout (3,3 ) );
//Preenche cada espaço na grade com um button.for (int x = 0; x < 9; x + +) { JButton temp = new JButton ("-" ); squares.add ( temp) ; temp.addActionListener (this); this.add ( temp) ;}
//redimensionar a janela para fazer caber tudo , //e fazer a interface com o usuário
4
Criar o método " actionPerformed " . Este método é chamado sempre que o usuário faz nada dentro de sua aplicação . Fornece-o com um objeto " ActionEvent " , e você pode inspecionar este objeto para descobrir o que o usuário fez, e reagir de acordo. Cole este código:
public void actionPerformed ( ActionEvent e) { //Para todos os botões no grid.for jogo ( JButton quadrados : quadrados ) {//Se o botão clicado foi a origem do evento . se ( square.equals ( e.getSource ()) ) {//Definir o botão para a carta do jogador , X ou O.square.setText (jogador) ;
//Alterar a vez do próximo jogador . if ( player.equals ("X ")) jogador = "O" ; mais jogador = " X ";} }
//Verifique se alguém tem won.checkWinner (); }
5
Criar o método " checkWinner " colando o seguinte código:
checkWinner public void () {
//Pega o conteúdo do board.String [] tabuleiro = new String [9] ;
//Definir o vencedor para o espaço em branco ", - . " vencedor string = " -";
for (int x = 0; x < 9; x + +) { placa [x ] = squares.get (x) getText (); System.out.println ( x + ". :" + tabuleiro [x] );}
//Verificar se a linha superior está cheio de a mesma letra //Se for, então o jogador tem won.if ( tabuleiro [ 0 ] equals ( tabuleiro [1] . ) && . . conselho [ 0 ] equals ( tabuleiro [2] )) { vencedor = placa [0] ;} else //Oriente Rowif ( placa . [3] equals ( tabuleiro [4] ) && tabuleiro [ 3 ] equals ( tabuleiro [ . ,"5] )) { vencedor = placa [3] ;} . . else //rowif inferior ( placa [ 6 ] equals ( tabuleiro [7] ) && tabuleiro [ 6 ] equals ( tabuleiro [8] )) { vencedor = placa [ ,"6] ;} else //columnif Esquerda ( . . conselho [ 0 ] equals ( tabuleiro [3] ) && tabuleiro [ 0 ] equals ( tabuleiro [6] )) { vencedor = placa [0] ;} else //columnif Oriente ( . conselho [1] é igual a ( placa [4] ) && tabuleiro [ 1 ] equals ( tabuleiro [7] ) . ) { vencedor = conselho [1] ;} . else //columnif direita ( placa [2] equals ( placa [5]. ) && tabuleiro [ 6 ] equals ( tabuleiro [8] )) { vencedor = placa [2] ;} . else //Top - Esquerda, Meio fundo Direito Diagonalif ( placa [0] equals ( placa [4 ] ) && tabuleiro [ 0 ] equals ( tabuleiro [8] )) { vencedor = placa [0] ;} . . else //Top -Right , Médio , Inferior Diagonalif Esquerda ( placa [2] equals ( tabuleiro [4] ) && tabuleiro [2] é igual a ( placa [6] )) { vencedor = placa [2] ;} .
//Se o vencedor não é o espaço em branco " - , " //então alguém ganhou . ( ! Winner.equals ("-" ) ) felicitá-los //e acabar com a game.if { JOptionPane.showMessageDialog ( rootPane , " O vencedor é " + vencedor ); System.exit (0); }}