Buscar

Jogo da Velha

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Jogo da Velha/DadosDoJogo.class
Jogo da Velha/DadosDoJogo.java
/*
 * DADOS DO JOGO
 * Um pequeno espaco onde tem uma descricao 
 * sobre o jogo.
 */
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import javax.swing.JTextPane;
/**
 *
 * @author Ednei de Freitas
 */
public class DadosDoJogo extends JDialog{
 
 private JPanel basic;
 
 public DadosDoJogo(){
 
 setTitle("JOGO DA VELHA");
 JPanel basic = new JPanel();
 basic.setLayout(new BoxLayout(basic,BoxLayout.Y_AXIS));
 add(basic);
 
 JPanel toPainel = new JPanel(new BorderLayout(0,0)); 
 toPainel.setMaximumSize(new Dimension(450,0));
 JLabel hint = new JLabel("Dados sobre o jogo");
 hint.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 0));
 toPainel.add(hint);
 
 ImageIcon icon = new ImageIcon("jdev.png");
 JLabel label = new JLabel(icon);
 label.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
 toPainel.add(label,BorderLayout.EAST);
 
 JSeparator separador = new JSeparator();
 separador.setForeground(Color.gray);
 
 toPainel.add(separador,BorderLayout.SOUTH);
 
 basic.add(toPainel);
 
 JPanel textPanel = new JPanel(new BorderLayout());
 
 textPanel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
 JTextPane pane = new JTextPane();
 pane.setContentType("text/html");
 
 String text = "<p>Lorem Ipsum e simplesmente uma simulacao </p>"+
 "<p>de texto da industria tipografica e de impressos, "+
 "e vem sendo utilizado desde o seculo XVI</p>" +
 "<p>quando um impressor desconhecido pegou uma bandeja de "
 + "tipos e os embaralhou para fazer</p>";
 
 pane.setText(text);
 pane.setEditable(false);//DESABILITA O TRXTO
 textPanel.add(pane);
 basic.add(textPanel);
 
 JPanel boxPanel = new JPanel(new FlowLayout(FlowLayout.LEFT,20,20));
 JCheckBox box = new JCheckBox("Show tips as startup");
 box.setMnemonic(KeyEvent.VK_S);
 
 boxPanel.add(box);
 
 
 setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
 setSize(400,250);
 setResizable(false);
 setLocationRelativeTo(null);
 setVisible(true); 
 } 
}
Jogo da Velha/JanelaJogoDaVelha.class
Jogo da Velha/JanelaJogoDaVelha.java
/*
 * PARTE ONDE ADICIONO MINHAS CLASS
 */
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
 
public class JanelaJogoDaVelha extends JFrame {
 
 private JFrame frame;
 private JButton botao;
 
 public JanelaJogoDaVelha(){
 super("JOGO DA VELHA"); 
 add(new TabuleiroDoJogo());
 add(new PainelInfoJogadores());
 
 setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
 setSize(550,330); 
 setVisible(true);
 }
}
Jogo da Velha/PainelInfoJogadores$1.class
Jogo da Velha/PainelInfoJogadores$2.class
Jogo da Velha/PainelInfoJogadores$3.class
Jogo da Velha/PainelInfoJogadores.class
Jogo da Velha/PainelInfoJogadores.java
/*
 * JOGO DA VELHA (Painel de informacao)
 * Essa e a parte onde foi criada exibir as informacoes 
 * sobre o jogo.
 */
/*
* @Author Ednei de Freitas Neto
* E-mail: fretasnetoednei@yahoo.com.br
*/
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSeparator;
//super calss
public class PainelInfoJogadores extends TabuleiroDoJogo{
 private JButton[] button;
 private String[] nome = {"Sair do jogo","Novo jogo","Sobre Jogo"};
 private JPanel painelInfo;
 JLabel labelTitulo,
 labelJogador1,labelTotalVitorias1,
 labelJogador2,labelTotalVitorias2,
 labelTituloConfig;
 
 
 public PainelInfoJogadores() {
 
 painelInfo = new JPanel();
 painelInfo.setLayout(new FlowLayout());
 painelInfo.setBorder(BorderFactory.createTitledBorder("JOGO DA VELHA"));
 painelInfo.setPreferredSize(new Dimension(200,270)); 
 painelInfo.setBorder(BorderFactory.createLineBorder(Color.gray));
 
 
 labelTitulo = new JLabel("Dados do jogo");//TITULO DO PAINEL
 labelTitulo.setPreferredSize(new Dimension(190,15));//TAMANHO QUE VAI OCUPAR
 
 /****************************************************
 * DADOS JOGADOR 1
 ***************************************************/
 
 labelJogador1 = new JLabel("Jogador 1 simbolo: X");//TITULO DO PAINEL
 labelJogador1.setPreferredSize(new Dimension(190,40));//TAMANHO QUE VAI OCUPAR
 labelTotalVitorias1 = new JLabel("Total de votorias: 0");//TITULO DO PAINEL
 labelTotalVitorias1.setPreferredSize(new Dimension(190,10));//TAMANHO QUE VAI OCUPAR
 
 JSeparator s1 = new JSeparator();//SEPARADOR DE TELA
 s1.setPreferredSize(new Dimension(190,1));//TAMANHO
 s1.setBorder(BorderFactory.createLineBorder(Color.gray));//DEFINE A COR
 
 /****************************************************
 * DADOS JOGADOR 2
 ***************************************************/
 labelJogador2 = new JLabel("Jogador 2 simbolo: O");//TITULO DO PAINEL
 labelJogador2.setPreferredSize(new Dimension(190,40));//TAMANHO QUE VAI OCUPAR
 labelTotalVitorias2 = new JLabel("Total de votorias: 0");//TITULO DO PAINEL
 labelTotalVitorias2.setPreferredSize(new Dimension(190,10));//TAMANHO QUE VAI OCUPAR
 
 JSeparator s2 = new JSeparator();//SEPARADOR DE TELA
 s2.setPreferredSize(new Dimension(190,1));//TAMANHO
 s2.setBorder(BorderFactory.createLineBorder(Color.gray));//DEFINE A COR
 
 //ADD COMPONENTS
 painelInfo.add(labelTitulo);
 
 painelInfo.add(labelJogador1);
 painelInfo.add(labelTotalVitorias1);
 painelInfo.add(s1); 
 
 painelInfo.add(labelJogador2); 
 painelInfo.add(labelTotalVitorias2);
 painelInfo.add(s2);
 
 /****************************************************
 * BOTOES DE CONFIG
 ***************************************************/
 button = new JButton[nome.length];
 for(int i=0;i<nome.length;i++){
 button[i]= new JButton(nome[i]);
 button[i].setPreferredSize(new Dimension(120,30));//TAMANHO
 painelInfo.add(button[i]);//ADD OS BOTOES
 }
 
 vencedor1();
 vencedor2();
 
 add(painelInfo);
 
 //SAIR DI JOGO
 button[0].addActionListener(new ActionListener(){
 public void actionPerformed(ActionEvent e){
 Integer opcao = JOptionPane.showConfirmDialog(null,"Deseja sair","Sair do jogo",
 JOptionPane.OK_CANCEL_OPTION);
if(opcao!=2 && opcao!=-1)
 System.exit(0); 
 } 
 });
 
 //INICIA UMA NOVA PARTIDA
 button[1].addActionListener(new ActionListener(){
 public void actionPerformed(ActionEvent e){
 novoJogo();
 } 
 }); 
 
 button[2].addActionListener(new ActionListener(){
 public void actionPerformed(ActionEvent e){
 new DadosDoJogo();
 } 
 });
 }//FIM CONSTRUTOR
 
 /************************************************
 * DECLARACAO DE METODOS
 ************************************************/
 
 public void vencedor1() {
 super.vencedor1(); //To change body of generated methods, choose Tools | Templates. 
 
 labelTotalVitorias1.setText("Total de vitoria: "+ String.valueOf(totalVitoriasJogador1));
 }
 public void vencedor2() {
 super.vencedor2(); //To change body of generated methods, choose Tools | Templates. 
 
 labelTotalVitorias2.setText("Total de vitoria: "+ String.valueOf(totalVitoriasJogador2));
 } 
}//FIM CLASS
Jogo da Velha/TabuleiroDoJogo$1.class
Jogo da Velha/TabuleiroDoJogo$2.class
Jogo da Velha/TabuleiroDoJogo$3.class
Jogo da Velha/TabuleiroDoJogo$4.class
Jogo da Velha/TabuleiroDoJogo$5.class
Jogo da Velha/TabuleiroDoJogo$6.class
Jogo da Velha/TabuleiroDoJogo$7.class
Jogo da Velha/TabuleiroDoJogo$8.class
Jogo da Velha/TabuleiroDoJogo$9.class
Jogo da Velha/TabuleiroDoJogo.class
Jogo da Velha/TabuleiroDoJogo.java
/*
 * JOGO DA VELHA (Tabuleiro)
 * Essa e a parte onde foi criada o tabuleiro onde os jogadores
 * escolhem onde inserir "X" ou "O".
 */
/*
* @Author Ednei de Freitas Neto
* E-mail: fretasnetoednei@yahoo.com.br
*/
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class TabuleiroDoJogo extends JPanel{
 private JButton[] button;
 private JPanel tabuleiro;
 private JLabel label;
 private boolean jogador1Ativo = true,
 jogador2Ativo = true;
 private int clickbottao = 0;
 
 protected int totalVitoriasJogador1 = 0, totalVitoriasJogador2 = 0;
 
 public TabuleiroDoJogo() {
 tabuleiro = new JPanel();
 tabuleiro.setLayout(new FlowLayout());
 tabuleiro.setPreferredSize(new Dimension(300,270));
 tabuleiro.setBorder(BorderFactory.createLineBorder(Color.gray));
 
 /********************************************
 * BOTOES 
 *******************************************/
 button = new JButton[9];
 for(int i=0;i<9;i++){
 button[i]= new JButton();
 button[i].setPreferredSize(new Dimension(90,80));
 button[i].setFont(new Font("tahoma",0,36));
 tabuleiro.add(button[i]);
 }
 
 //CHAMADA DE METODO
 
 jogadas();
 
 //ADD COMPONENTS
 add(tabuleiro,FlowLayout.LEFT);
 }//fim construtor
 
 /********************************************
 * DELCARACAO DE METODOS
 *******************************************/
 
 //ATIVA O JOGADOR APOS CLICAR NO BOTAO
 public void jogadorAtivo(){
 if(jogador1Ativo == true){
 jogador1Ativo = false;
 jogador2Ativo = true;
 }else{
 jogador1Ativo = true;
 jogador2Ativo = false;
 }
 vencedor1();
 vencedor2();
 
 
 
 }
 public void novoJogo(){
 for(int i=0;i<9;i++){
 button[i].setEnabled(true);
 button[i].setText("");
 } 
 }
 
 //EXIBE O ESTADO DO BOTAO APOS O JOGADOR 1 VENCER A PARTIDA
 public void statusButtonVencedor1(){
 
 //DESABILITA OS BOTOES
 for(int i=0;i<9;i++){
 button[i].setEnabled(false);
 }
 totalVitoriasJogador1++;
 //EXIBE A MENSSAGEM DE VENCEDOR
 JOptionPane.showMessageDialog(null, "Parabens jogador 1 voce venceu!","Vitoria do jagador ", 
 JOptionPane.INFORMATION_MESSAGE); 
 
 }
 
 //EXIBE O ESTADO DO BOTAO APOS O JOGADOR 2 VENCER A PARTIDA
 public void statusButtonVencedor2(){
 //vai desabilitar os boteos
 for(int i=0;i<9;i++){
 button[i].setEnabled(false);
 }
 totalVitoriasJogador2++;
 
 //exi uma menssagem de vencedor
 JOptionPane.showMessageDialog(null, "Jogador 2 venceu","Parabens jogador", 
 JOptionPane.INFORMATION_MESSAGE); 
 }
 //VERIFICA SE DA EMPATE
 public void empate(){
 
 if( !button[0].getText().equals("")&&
 !button[1].getText().equals("")&&
 !button[2].getText().equals("")&&
 !button[3].getText().equals("")&&
 !button[4].getText().equals("")&&
 !button[5].getText().equals("")&&
 !button[6].getText().equals("")&&
 !button[7].getText().equals("")&&
 !button[8].getText().equals("")){
 
 for(int i=0;i<9;i++)
 button[i].setEnabled(false); 
 JOptionPane.showMessageDialog(null, "Empate, tente novamtente!","Aviso",
 JOptionPane.INFORMATION_MESSAGE);
 }
 }
 
 //VERIFICA QUEM VENCEU A PARTIDA
 public void vencedor1(){
 
 //LINHAS HORIZONTAIS
 if(button[0].getText().equals("X") && button[1].getText().equals("X") && button[2].getText().equals("X") ){
 statusButtonVencedor1(); 
 
 } 
 else
 if(button[3].getText().equals("X") && button[4].getText().equals("X") && button[5].getText().equals("X") ){
 statusButtonVencedor1(); 
 }
 else
 if(button[6].getText().equals("X") && button[7].getText().equals("X") && button[8].getText().equals("X") ){
 statusButtonVencedor1(); 
 }
 
 //LINHAS VERTICAIS
 else
 if(button[0].getText().equals("X") && button[3].getText().equals("X") && button[6].getText().equals("X") ){
 statusButtonVencedor1(); 
 }
 else
 if(button[1].getText().equals("X") && button[4].getText().equals("X") && button[7].getText().equals("X") ){
 statusButtonVencedor1(); 
 }
 else
 if(button[2].getText().equals("X") && button[5].getText().equals("X") && button[8].getText().equals("X") ){
 statusButtonVencedor1(); 
 }
 
 //LINHAS DIAGONAL PRINCIPAL
 else
 if(button[0].getText().equals("X") && button[4].getText().equals("X") && button[8].getText().equals("X") ){
 statusButtonVencedor1(); 
 }
 
 //LINHAS DIAGONAL SECUNDARIA
 else
 if(button[2].getText().equals("X") && button[4].getText().equals("X") && button[6].getText().equals("X") ){
 statusButtonVencedor1(); 
 }else{
 empate();
 }
 
 
 }
 
 public void vencedor2(){
 
 //LINHAS HORIZONTAIS
 if(button[0].getText().equals("O") && button[1].getText().equals("O") && button[2].getText().equals("O") ){
 statusButtonVencedor2(); 
 }
 else
 if(button[3].getText().equals("O") && button[4].getText().equals("O") && button[5].getText().equals("O") ){
statusButtonVencedor2(); 
 }
 else
 if(button[6].getText().equals("O") && button[7].getText().equals("O") && button[8].getText().equals("O") ){
 statusButtonVencedor2(); 
 }
 
 //LINHAS VERTICAIS
 else
 if(button[0].getText().equals("O") && button[3].getText().equals("O") && button[6].getText().equals("O") ){
 statusButtonVencedor2(); 
 }
 else
 if(button[1].getText().equals("O") && button[4].getText().equals("O") && button[7].getText().equals("O") ){
 statusButtonVencedor1(); 
 }
 else
 if(button[2].getText().equals("O") && button[5].getText().equals("O") && button[8].getText().equals("O") ){
 statusButtonVencedor2(); 
 }
 
 //LINHAS DIAGONAL PRINCIPAL
 else
 if(button[0].getText().equals("O") && button[4].getText().equals("O") && button[8].getText().equals("O") ){
 statusButtonVencedor2(); 
 }
 
 //LINHAS DIAGONAL SECUNDARIA
 else
 if(button[2].getText().equals("O") && button[4].getText().equals("O") && button[6].getText().equals("O") ){
 statusButtonVencedor2(); 
 } 
 }
 
 
 
 //INICIA MINHAS JOGADAS AO CLICAR NO BOTAO
 public void jogadas(){
 
 button[0].addActionListener(
 new ActionListener(){
 public void actionPerformed(ActionEvent e){
 
 if(jogador1Ativo == true){
 if(button[0].getText().equals("")){
 button[0].setText("X");
 jogadorAtivo();
 
 }
 }else{
 if(button[0].getText().equals("")){
 button[0].setText("O");
 jogadorAtivo();
 
 }
 }
 }
 }
 );
 
 button[1].addActionListener(
 new ActionListener(){
 public void actionPerformed(ActionEvent e){
 
 if(jogador1Ativo == true){
 if(button[1].getText().equals("")){
 button[1].setText("X");
 jogadorAtivo();
 }
 }else{
 if(button[1].getText().equals("")){
 button[1].setText("O");
 jogadorAtivo();
 }
 }
 }
 }
 );
 
 button[2].addActionListener(
 new ActionListener(){
 public void actionPerformed(ActionEvent e){
 if(jogador1Ativo == true){
 if(button[2].getText().equals("")){
 button[2].setText("X");
 jogadorAtivo();
 }
 }else{
 if(button[2].getText().equals("")){
 button[2].setText("O");
 jogadorAtivo();
 }
 }
 }
 }
 );
 
 button[3].addActionListener(
 new ActionListener(){
 public void actionPerformed(ActionEvent e){
 if(jogador1Ativo == true){
 if(button[3].getText().equals("")){
 button[3].setText("X");
 jogadorAtivo();
 }
 }else{
 if(button[3].getText().equals("")){
 button[3].setText("O");
 jogadorAtivo();
 }
 }
 }
 }
 );
 
 button[4].addActionListener(
 new ActionListener(){
 public void actionPerformed(ActionEvent e){
 if(jogador1Ativo == true){
 if(button[4].getText().equals("")){
 button[4].setText("X");
 jogadorAtivo();
 }
 }else{
 if(button[4].getText().equals("")){
 button[4].setText("O");
 jogadorAtivo();
 }
 }
 }
 }
 );
 
 button[5].addActionListener(
 new ActionListener(){
 public void actionPerformed(ActionEvent e){
 if(jogador1Ativo == true){
 if(button[5].getText().equals("")){
 button[5].setText("X");
 jogadorAtivo();
 }
 }else{
 if(button[5].getText().equals("")){
 button[5].setText("O");
 jogadorAtivo();
 }
 }
 }
 }
 );
 
 button[6].addActionListener(
 new ActionListener(){
 public void actionPerformed(ActionEvent e){
 if(jogador1Ativo == true){
 if(button[6].getText().equals("")){
 button[6].setText("X");
 jogadorAtivo();
 }
 }else{
 if(button[6].getText().equals("")){
 button[6].setText("O");
 jogadorAtivo();
 }
 }
 }
 }
 );
 
 button[7].addActionListener(
 new ActionListener(){
 public void actionPerformed(ActionEvent e){
 if(jogador1Ativo == true){
 if(button[7].getText().equals("")){
 button[7].setText("X");
 jogadorAtivo();
 }
 }else{
 if(button[7].getText().equals("")){
 button[7].setText("O");
 jogadorAtivo();
 }
 }
 }
 }
 );
 
 button[8].addActionListener(
 new ActionListener(){
 public void actionPerformed(ActionEvent e){
 if(jogador1Ativo == true){
 if(button[8].getText().equals("")){
 button[8].setText("X");
 jogadorAtivo();
 }
 }else{
 if(button[8].getText().equals("")){
 button[8].setText("O");
 jogadorAtivo();
 }
 }
 }
 }
 );
 
 } //fim metodo jogadas 
 
}//fim calss
Jogo da Velha/TesteClasses.class
Jogo da Velha/TesteClasses.java
import javax.swing.JFrame;
public class TesteClasses {
 
 public static void main(String[] agrs){
 
 new JanelaJogoDaVelha(); 
 } 
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando