Jogo da velha em rede

Disponível somente no TrabalhosFeitos
  • Páginas : 8 (1859 palavras )
  • Download(s) : 0
  • Publicado : 15 de abril de 2012
Ler documento completo
Amostra do texto
REDES DE COMPUTADORES
JOGO DA VELHA EM REDE

OBJETIVO
Este relatório tem o objetivo de demonstrar o desenvolvimento parcial da aplicação solicitada como atividade avaliativa da terceira unidade da matéria de Redes de Computadores. O software é um jogo da velha que deve funcionar em um ambiente de rede e deve prover interfaces que permitam a dois indivíduos em terminais diferentes realizar assuas jogadas comunicando-se por meio de sockets de UDP através da rede de computadores.
PROJETO PRELIMINAR
Na fase inicial de projeto do software idealizamos o tabuleiro do jogo que é composto por botões (nove ao todo) que são os campos do tabuleiro que podem ser marcados por cada jogador, o tabuleiro é montado num formulário jframe onde os botões são colocados.

Partindo para a implementaçãofoi feito o método que realiza as jogadas, esse método está na própria classe do jframe e trabalha da seguinte forma: o método recebe dois parâmetros, um numero (de 0 a 8) que representa os campos do tabuleiro, e uma String que contém o símbolo que diferencia a jogada de cada jogador marcada no tabuleiro (X ou 0). Ao ser chamado ele faz duas verificações, primeiro ele verifica o valor inteirorecebido para saber em qual botão marcar. Depois ele verifica se o botão está vazio, está parte serve para evitar que o jogador realize a jogada em um botão já marcado. Também nessa classe está o método que verifica se ouve um ganhador ou se o jogo empatou ele trabalha da seguinte forma no tabuleiro existem 8 combinações entre os botões que podem levar a vitoria então quando cada botão é clicadoarmazenamos a informação para as respectivas possibilidades com isso antes e depois de cada jogada verificamos se uma dessas possibilidades está preenchida com um único símbolo em caso afirmativo temos a declaração da vitoria, ao final das jogadas se nenhuma das possibilidades é atingida e declarado o empate.

import javax.swing.JOptionPane;
public class tabuleiro extends javax.swing.JFrame {public tabuleiro() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jbtn0 = new javax.swing.JButton();
jbtn1 = new javax.swing.JButton();
jbtn2 = new javax.swing.JButton();
jbtn3 = newjavax.swing.JButton();
jbtn4 = new javax.swing.JButton();
jbtn5 = new javax.swing.JButton();
jbtn6 = new javax.swing.JButton();
jbtn7 = new javax.swing.JButton();
jbtn8 = new javax.swing.JButton();
jBSair = new javax.swing.JButton();
jlbTitulo = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);jbtn0.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtn0ActionPerformed(evt);
}
});

jbtn1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {jbtn1ActionPerformed(evt);
}
});

jbtn2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtn2ActionPerformed(evt);
}
});

jbtn3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt){
jbtn3ActionPerformed(evt);
}
});

jbtn4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbtn4ActionPerformed(evt);
}
});

jbtn5.addActionListener(new java.awt.event.ActionListener() {
public void...
tracking img