Cursos / Jogos Digitais / Programação Estruturada / Aula

arrow_back Aula 14 - Adicionando novos recursos ao jogo da velha

1. Cadastro de Jogadores

Agora, vamos adicionar ao nosso jogo uma funcionalidade que permitirá o cadastro dos nomes dos jogadores. Para isso, iremos escrever uma rotina que nomearemos “cadastro”, em que serão solicitados e, posteriormente, armazenados os nomes dos jogadores.

Antes de escrever a rotina, porém, precisamos criar mais duas variáveis na classe JogoDaVelha para armazenar os nomes dos jogadores. No início do código, no local onde você declarou as outras variáveis do jogo básico, declare as seguintes variáveis:

Agora, podemos criar o nosso procedimento de cadastro. Veja o código da rotina, a seguir:

Veja que o procedimento “cadastro”, por enquanto, é bem simples. O programa apenas solicita a entrada dos nomes dos jogadores e, em seguida, captura os nomes digitados para armazenar nas variáveis globais que criamos lá na parte superior do código, variáveis estáticas “jogador1” e “jogador2”.

Antes de incrementarmos um pouco mais o jogo, vamos fazer algumas alterações no jogo que fizemos na aula anterior? Para que o cadastro dos jogadores funcione, precisamos primeiro chamar o procedimento de cadastro, dentro da rotina principal. Vá até a rotina main e adicione no início da rotina a seguinte linha de código que chama o procedimento cadastro:

Agora, o cadastro já está funcionando. Você já pode testar. Compile e execute o jogo. Veja que, antes de mostrar o tabuleiro do jogo, aparece a tela que vemos na Figura 1.

Solicitação de nome de jogador na tela inicial do jogo

Ao digitar o nome do jogador 1, será solicitado o nome do segundo jogador e o jogo será iniciado.

Observe, porém, que, ao indicar de quem é a vez, a mensagem que aparece ainda faz referência aos jogadores como “jogador 1” e “jogador 2” e não aos seus respectivos nomes (que acabaram de ser cadastrados). Isso ocorre porque, na aula anterior, o nosso código ainda não “conhecia” os jogadores pelos nomes (não havia cadastro). Vamos mudar isso?

No procedimento “jogar(int jogador)”, veja que, dentro de seu corpo, temos uma linha de código com um “System.out.println” que mostra de quem é a vez de jogar. Essa linha faz referência a um inteiro (jog) que está inicializado em uma estrutura “if” lá no início da função:

A partir de agora, o nosso jogo não vai mais se referir aos jogadores como “jogador 1” e “jogador 2”, e sim como seus nomes cadastrados. Dessa forma, precisamos alterar o código, trocando o “System.out.println” e a estrutura do “if-else” mostrados pelo seguinte código:

O código acima mostra de quem é a vez de jogar, referindo-se ao jogador pelo nome que ele cadastrou. Vamos ver como fica o código completo da função jogar, feitas essas alterações:

Agora, teste mais uma vez e veja o resultado. Jogue até o fim e veja que, ao anunciar o vencedor, o jogo ainda não está mostrando os nomes dos jogadores. Vamos alterar isso também?

Na rotina “main”, veja o seguinte código:

A variável “win” foi declarada como int, para mostrar o vencedor como jogador 1 ou jogador 2. Para mostrarmos o nome do vencedor, precisamos alterar isso. Mude o código para:

Veja que precisamos inserir duas estruturas “if” para verificar cada um dos jogadores pelo nome, não mais por um número.

Agora, você já pode testar. Compile e execute. Veja que, dessa vez, após cadastrar os jogadores no início do jogo, cada um é chamado pelo nome durante a partida, seja ao mostrar de quem é a vez, ou ao dizer quem é o vencedor.

Versão 5.3 - Todos os Direitos reservados