O Jogo do Galo, também conhecido como Jogo da Velha, é um clássico jogo de tabuleiro jogado por duas pessoas em um grid de 3×3. O objetivo é ser o primeiro a formar uma linha horizontal, vertical ou diagonal com suas peças. Neste artigo, exploraremos como implementar o Jogo do Galo usando um protocolo de nível de aplicação em Java, especificamente através do uso de applets.
O Java é uma linguagem de programação amplamente utilizada para desenvolvimento de aplicativos, incluindo jogos. Os applets Java são pequenos programas que podem ser executados em navegadores da web e fornecem uma maneira conveniente de criar jogos simples que podem ser acessados online.
Para começar, vamos definir as regras básicas do Jogo do Galo. O tabuleiro é representado por uma matriz 3×3, onde cada posição pode estar vazia, ocupada pelo jogador 1 ou ocupada pelo jogador 2. Os jogadores alternam suas jogadas, colocando sua peça em uma posição vazia do tabuleiro. O jogo continua até que um jogador vença ou ocorra um empate.
A implementação do jogo começará criando uma classe principal que estende a classe Applet, fornecida pelo Java. Essa classe será responsável por criar a interface do jogo e lidar com a lógica do jogo. Vamos chamá-la de “JogoDoGaloApplet”.
java
Copy code
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class JogoDoGaloApplet extends Applet implements ActionListener {
private Button[] botoes;
private int[] tabuleiro;
private int jogadorAtual;
public void init() {
setLayout(new GridLayout(3, 3));
inicializarTabuleiro();
criarBotoes();
}
private void inicializarTabuleiro() {
tabuleiro = new int[9];
jogadorAtual = 1;
}
private void criarBotoes() {
botoes = new Button[9];
for (int i = 0; i < 9; i++) {
botoes[i] = new Button();
botoes[i].addActionListener(this);
add(botoes[i]);
}
}
public void actionPerformed(ActionEvent e) {
Button botaoClicado = (Button) e.getSource();
int indiceBotao = -1;
for (int i = 0; i < 9; i++) {
if (botaoClicado == botoes[i]) {
indiceBotao = i;
break;
}
}
if (tabuleiro[indiceBotao] == 0) {
tabuleiro[indiceBotao] = jogadorAtual;
botaoClicado.setLabel(String.valueOf(jogadorAtual));
verificarVitoria();
jogadorAtual = jogadorAtual == 1 ? 2 : 1;
}
}
private void verificarVitoria() {
// Verificar todas as possibilidades de vitória
// …
// Se um jogador venceu, exibir mensagem de vitória e reiniciar o jogo
// …
}
}
Nesse código, criamos uma interface de usuário usando um layout de grade 3×3 para exibir os botões representando as posições do tabuleiro. Cada botão é associado a um objeto Button e adicionado ao applet. A classe JogoDoGaloApplet implementa a interface ActionListener, que permite lidar com os eventos de clique nos botões.
No método actionPerformed, verificamos qual botão foi clicado e atualizamos o tabuleiro e a interface de acordo. Em seguida, verificamos se houve uma vitória chamando o método verificarVitoria(). Este método deve ser implementado para verificar todas as possíveis combinações vencedoras e exibir uma mensagem adequada quando um jogador vencer.
A implementação completa do método verificarVitoria() é deixada como exercício para o leitor, mas você precisará verificar as linhas, colunas e diagonais para determinar se um jogador venceu.
Por fim, você pode compilar e executar o applet usando um ambiente de desenvolvimento Java adequado ou incorporá-lo em uma página HTML usando a tag <applet>.
html
Copy code
<html>
<head>
<title>Jogo do Galo</title>
</head>
<body>
<applet code=”JogoDoGaloApplet.class” width=”300″ height=”300″></applet>
</body>
</html>
Dessa forma, você pode desfrutar do clássico Jogo do Galo no seu navegador. O uso de applets Java permite que o jogo seja acessado e jogado facilmente, sem a necessidade de instalar nenhum software adicional.
Esta implementação simples demonstra como usar um protocolo de nível de aplicação para criar um jogo interativo em Java. O uso de applets permite a execução do jogo em diferentes plataformas e torna o jogo facilmente acessível através de um navegador da web.