Java desafio de programação: a adição de um gui ao programa tic-tac-toe
Dentro Java Desafio Programação: A Simple Tic-Tac-Toe Jogo você foram desafiados a escrever um programa baseado em console que joga o jogo simples de Tic-Tac-Toe. O desafio de programação Java aqui é usar Swing para adicionar uma interface gráfica do usuário (GUI) para o programa. A GUI deve se parecer com a mostrada aqui.
Video: Week 0
Video: Jogo da Velha I - Dois Jogadores
O jogo é simples. O jogador humano joga primeiro, clicando em qualquer um dos quadrados. A praça clicado pelo humano exibe um grande X. Após as jogadas humanos, o programa determina se o ser humano ganhou ou forçado um empate. Se assim for, uma mensagem é exibida, o conselho é reposto, e um novo jogo começa. Se não, o computador escolhe uma jogada e marca sua praça com um grande O.
O programa então determina se o computador ganhou o jogo. Se assim for, o programa exibe uma mensagem, repõe a bordo, e inicia um novo jogo. Se não, o jogador humano desempenha novamente. Isso continua até que um jogador ganha ou todas as praças estão cheias.
Seu programa deve usar o mesmo TicTacToeBoard classe que você criar para Desafio de programação Java: Adicionando classe ao Tic-Tac-Toe Programa Simples. Em outras palavras, ele deve implementar os exatos mesmos métodos. Para sua conveniência, estes métodos são repetidos na tabela a seguir.
Construtor | Descrição |
---|---|
TicTacToeBoard | Cria um novo TicTacToeBoard com todos os quadrados em branco. |
Método | Descrição |
void reset () | Redefine o status de cada quadrado de vazio. |
anular playAt (String quadrado, jogador int) | Marca o quadrado especificado (A1, A2, A3, B1, B2, B3, C1, C2, ou C3) Para o jogador especificado (1 para X, para 2 O). lança IllegalArgumentException E se quadrado não é um dos valores admissíveis, jogador não é 1 ou 2, ou o quadrado especificado não está vazio. |
int isGameOver () | Determina se o jogo acabou. Retorna 0 se o jogo não acabou, 1 se X ganhou o jogo, 2 se O ganhou o jogo, e 3 se o jogo é um empate. O jogo terminando condições são as seguintes: 1: Se qualquer linha, coluna ou diagonal contém todos os X. 2: Se qualquer linha, coluna ou diagonal contém todos Ó. 3: Se não houver quadrados vazios e nem X nem O ganhou. |
int getNextMove () | Retorna um inteiro que representa o próximo passo para o adversário do computador. Este método deve fazer um esforço rudimentar para selecionar uma boa jogada, de acordo com a seguinte estratégia: * Se o centro (praça B2) Está vazio, tocar o centro da praça. * Se o centro não está vazio mas qualquer um dos quatro cantos (quadrados A1, A3, C1, ou C3) Estão vazias, jogar um dos cantos (não importa qual). * Se o centro não está vazio e sem cantos estão vazios, jogar uma das bordas (quadrados A2, B1, B3, ou C2). |
String toString () | Retorna uma string que representa o estado atual da placa. A seqüência de caracteres inclui caracteres de nova linha para exibir as linhas, bem como linhas de separação em linhas de console separadas, como neste exemplo: O | | O - | - | - | X | - | - | - | X | |
Você vai encontrar a solução para este desafio na guia Downloads do Java All-in-One For Dummies, 4ª página do produto Edition.
Boa sorte!