Baixe o app para aproveitar ainda mais
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(); } }
Compartilhar