Lar Finanças Pessoais Java Programação Desafio: Adicionando uma GUI ao programa Tic-Tac-Toe

Java Programação Desafio: Adicionando uma GUI ao programa Tic-Tac-Toe

Vídeo: Coding Challenge #4: Purple Rain in Processing 2024

Vídeo: Coding Challenge #4: Purple Rain in Processing 2024
Anonim

No Java Programming Challenge: um jogo Tic-Tac-Toe simples, você foi desafiado a escrever um programa baseado em console que joga o jogo simples do Tic-Tac-Toe. O desafio de programação Java aqui é usar Swing para adicionar uma interface gráfica de usuário (GUI) ao programa. A GUI deve se parecer com a mostrada aqui.

a interface do usuário para um programa Tic-Tac-Toe.

O jogo é simples. O jogador humano joga primeiro clicando em qualquer um dos quadrados. O quadrado clicado pelo humano exibe um grande X. Após as peças humanas, o programa determina se o humano ganhou ou forçou um sorteio. Se assim for, uma mensagem é exibida, a placa é reiniciada e um novo jogo começa. Caso contrário, o computador escolhe um movimento e marca seu quadrado com um grande O.

O programa então determina se o computador ganhou o jogo. Se assim for, o programa exibe uma mensagem, redefine a placa e inicia um novo jogo. Caso contrário, o jogador humano joga novamente. Isso continua até que um jogador vença ou todos os quadrados sejam preenchidos.

Seu programa deve usar a mesma classe TicTacToeBoard que você criou para Java Programming Challenge: adicionando classe ao programa Tic-Tac-Toe simples. Em outras palavras, ele deve implementar exatamente os mesmos métodos. Para sua conveniência, esses métodos são repetidos na tabela a seguir.

A TicTacToeBoard Class
Construtor Descrição
TicTacToeBoard Cria um novo TicTacToeBoard com todos os quadrados vazios.
Método Descrição
void reset () Repor o status de cada quadrado para esvaziar.
void playAt (String square, int player) Marca o quadrado especificado (A1, A2, A3, B1, B2, B3, C1, C2 ou C3) para o jogador especificado (1 para X, 2 para O). Lança IllegalArgumentException se o quadrado não for um dos valores permitidos, o 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 terminar, 1 se X ganhou o jogo, 2 se O ganhou o jogo e 3 se o jogo for um sorteio. As condições de término do jogo são as seguintes:

1: Se qualquer linha, coluna ou diagonal contém todos os X's.

2: Se qualquer linha, coluna ou diagonal contém todos os O's.

3: se não houver quadrados vazios e nem X nem O ganharam.

int getNextMove () Retorna um número inteiro que representa o próximo movimento para o oponente do computador. Este método deve fazer um esforço rudimentar para selecionar um bom movimento, de acordo com a seguinte estratégia:

* Se o centro (quadrado B2) estiver vazio, jogue o quadrado central.

* Se o centro não estiver vazio, mas qualquer um dos quatro cantos (quadrados A1, A3, C1 ou C3) está vazio, toque um dos cantos (não importa qual).

* Se o centro não estiver vazio e nenhum canto estiver vazio, toque uma das arestas (quadrados A2, B1, B3 ou C2).

String toString () Retorna uma string que representa o status atual da placa. A seqüência de caracteres inclui caracteres de nova linha para exibir as linhas, bem como linhas separadoras em linhas de console separadas, como neste exemplo:

O | | O

- | - | -

| X |

- | - | -

| X |

Você encontrará a solução para este desafio na guia Downloads da página de produtos Java All-in-One For Dummies, 4th Edition.

Boa sorte!

Java Programação Desafio: Adicionando uma GUI ao programa Tic-Tac-Toe

Escolha dos editores

Acalma suas emoções ao praticar Mindfulness - dummies

Acalma suas emoções ao praticar Mindfulness - dummies

Aqui, você descobre a maneira consciente de gerenciar as emoções - as etapas para tome quando estiver sentindo baixo, excessivamente irritado ou desconfortavelmente ansioso. As emoções positivas podem ser um sentimento maravilhoso. A alegria, a alegria, a emoção e a felicidade são perfeitas. Mas como você pode lidar com as chamadas emoções negativas? Use a atenção para a saúde emocional A atenção plena está se tornando ...

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Você pode encontrar a meditação mindfulness é uma ótima maneira de Comece o seu dia de trabalho. Quando chegar ao trabalho pela manhã, talvez já esteja estressado. Depois de uma agitada hora ou duas preparando as crianças para a escola ou regatear com seu parceiro ou lidar com alguma emergência em casa, seguido de ...

Os melhores sites Mindfulness - dummies

Os melhores sites Mindfulness - dummies

, Independentemente de você morar no Reino Unido ou em outro lugar, se você procurar "mindfulness" 'on-line, você literalmente obterá milhões de resultados. Como você pode dizer o trigo da palha? Aqui estão alguns sites que você achará útil. Atento. Este recurso maravilhoso tem muitos conteúdos de alta qualidade de professores excelentes de atenção plena. O ...

Escolha dos editores

HDR Solução de problemas: Nada está funcionando - manequins

HDR Solução de problemas: Nada está funcionando - manequins

Quando você se depara com uma situação com suas fotografias de alcance dinâmico elevado e parece que nada que você está fazendo está funcionando - as configurações não parecem boas, a imagem parece errada, os efeitos são ruins - relaxe e faça uma pausa. A imagem está lhe dizendo algo. Que algo às vezes é relacionado a forçar ...

HDR Resolução de problemas: falta de imaginação - dummies

HDR Resolução de problemas: falta de imaginação - dummies

A imaginação é uma coisa poderosa ao preparar imagens HDR, fato que é tornou-se mais óbvio quando você vê o resultado de não usá-lo versus usá-lo. A imagem superior desta figura é uma imagem HDR de um diner local durante a "hora dourada" - naquele horário atrasado (ou manhã) quando ...

HDR Solução de problemas: Sharpening - dummies

HDR Solução de problemas: Sharpening - dummies

Se você ficar apanhado na perfeição, você está preparado para aumentar seu HDR imagens. Os fotógrafos às vezes estão obcecados com a nitidez em suas fotos. Eles querem que tudo seja pixelly perfeitamente afiado do nariz da câmera até o infinito, independentemente da lente, abertura, ISO ou velocidade do obturador que eles usem. Esta figura mostra os resultados ...

Escolha dos editores

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Em qualquer componente de rede da Cisco, o show O comando de versão é aplicável a qualquer hardware usando o Sistema Operacional Cisco IET (Internetwork Operating System), incluindo switches. O comando show version mostra informações ligeiramente diferentes, de acordo com o tipo de dispositivo em que você usa. Veja a saída do comando show version em um switch e ...

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Você precisa usar o modo EXEC privilegiado se quiser realmente tem acesso de atualização a um sistema de rede Cisco,. Para entrar neste modo no modo EXEC do usuário, emita o comando enable, que solicita uma senha, se configurado. Como o nome do modo sugere, este modo tem privilégios extras para permitir ...

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Shell seguro (SSH) é um protocolo de rede para seus dispositivos Cisco, que é mais seguro do que o Telenet. Definir uma senha segura é um requisito de configuração para este protocolo. Para configurar o acesso a um switch Cisco para SSH, você precisará ter uma conta de usuário criada em sua opção. O exemplo supõe que você tenha ...