X-0.docx

  • Uploaded by: Jefry Martinez
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View X-0.docx as PDF for free.

More details

  • Words: 2,682
  • Pages: 34
package newpackage; import java.awt.Color; import javax.swing.JOptionPane; public class NewJFrame extends javax.swing.JFrame {

private final String usuario, computadora;//Variables que guardan los signos utilizados por el usuario y la computadora private final String[] signo = {"X","0"};//Arreglo unidimensional con los dos posibles signos a utilizar. private int ganado=0, empatado=0, perdido=0, can;//Variables que llevan la cuenta de las partidas y las casillas ocupadas.

public NewJFrame() { usuario = (String) JOptionPane.showInputDialog(null, "Seleccione el signo (X/0) para empezar a jugar.", "Signo",JOptionPane.INFORMATION_MESSAGE, null ,signo,signo[0]); if (usuario.equals("X")) computadora = "0"; else computadora = "X"; initComponents(); getContentPane().setBackground(Color.WHITE); cant_gan.setText(String.valueOf(ganado)); cant_emp.setText(String.valueOf(empatado)); cant_per.setText(String.valueOf(perdido)); if(computadora.equals("X")) turnoComputadora(); }

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" BEGIN:initComponents private void initComponents() {

jSeparator2 = new javax.swing.JSeparator(); jSeparator3 = new javax.swing.JSeparator(); jSeparator4 = new javax.swing.JSeparator(); jSeparator5 = new javax.swing.JSeparator(); jLabel1 = new javax.swing.JLabel(); cant_per = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); cant_gan = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); cant_emp = new javax.swing.JLabel(); boton_pos9 = new javax.swing.JButton(); boton_pos1 = new javax.swing.JButton(); boton_pos2 = new javax.swing.JButton(); boton_pos3 = new javax.swing.JButton(); boton_pos4 = new javax.swing.JButton(); boton_pos5 = new javax.swing.JButton(); boton_pos6 = new javax.swing.JButton(); boton_pos7 = new javax.swing.JButton(); boton_pos8 = new javax.swing.JButton(); jLabel7 = new javax.swing.JLabel(); pos9 = new javax.swing.JLabel(); pos1 = new javax.swing.JLabel(); pos2 = new javax.swing.JLabel(); pos3 = new javax.swing.JLabel(); pos4 = new javax.swing.JLabel();

desc="Generated

Code">//GEN-

pos5 = new javax.swing.JLabel(); pos6 = new javax.swing.JLabel(); pos7 = new javax.swing.JLabel(); pos8 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("X-0"); setPreferredSize(new java.awt.Dimension(470, 525)); setResizable(false); getContentPane().setLayout(null);

jSeparator2.setBackground(new java.awt.Color(0, 0, 0)); jSeparator2.setOrientation(javax.swing.SwingConstants.VERTICAL); getContentPane().add(jSeparator2); jSeparator2.setBounds(170, 50, 20, 300);

jSeparator3.setBackground(new java.awt.Color(0, 0, 0)); getContentPane().add(jSeparator3); jSeparator3.setBounds(70, 150, 300, 40);

jSeparator4.setBackground(new java.awt.Color(0, 0, 0)); jSeparator4.setOrientation(javax.swing.SwingConstants.VERTICAL); getContentPane().add(jSeparator4); jSeparator4.setBounds(270, 50, 20, 300);

jSeparator5.setBackground(new java.awt.Color(0, 0, 0)); getContentPane().add(jSeparator5); jSeparator5.setBounds(70, 250, 300, 40);

jLabel1.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N jLabel1.setForeground(new java.awt.Color(153, 0, 0)); jLabel1.setText("Partidas perdidas:"); getContentPane().add(jLabel1); jLabel1.setBounds(300, 10, 120, 15);

cant_per.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N cant_per.setForeground(new java.awt.Color(153, 0, 0)); cant_per.setText("0"); getContentPane().add(cant_per); cant_per.setBounds(410, 10, 40, 15);

jLabel3.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N jLabel3.setForeground(new java.awt.Color(0, 102, 0)); jLabel3.setText("Partidas ganadas:"); getContentPane().add(jLabel3); jLabel3.setBounds(20, 10, 110, 15);

cant_gan.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N cant_gan.setForeground(new java.awt.Color(0, 102, 0)); cant_gan.setText("0"); getContentPane().add(cant_gan); cant_gan.setBounds(130, 10, 40, 15);

jLabel5.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N jLabel5.setForeground(new java.awt.Color(102, 102, 0)); jLabel5.setText("Partidas empatadas:");

getContentPane().add(jLabel5); jLabel5.setBounds(150, 10, 120, 15);

cant_emp.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N cant_emp.setForeground(new java.awt.Color(102, 102, 0)); cant_emp.setText("0"); getContentPane().add(cant_emp); cant_emp.setBounds(270, 10, 40, 15);

boton_pos9.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N boton_pos9.setText("9"); boton_pos9.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { boton_pos9ActionPerformed(evt); } }); getContentPane().add(boton_pos9); boton_pos9.setBounds(240, 450, 50, 30);

boton_pos1.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N boton_pos1.setText("1"); boton_pos1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { boton_pos1ActionPerformed(evt); } }); getContentPane().add(boton_pos1); boton_pos1.setBounds(140, 390, 50, 30);

boton_pos2.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N boton_pos2.setText("2"); boton_pos2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { boton_pos2ActionPerformed(evt); } }); getContentPane().add(boton_pos2); boton_pos2.setBounds(190, 390, 50, 30);

boton_pos3.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N boton_pos3.setText("3"); boton_pos3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { boton_pos3ActionPerformed(evt); } }); getContentPane().add(boton_pos3); boton_pos3.setBounds(240, 390, 50, 30);

boton_pos4.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N boton_pos4.setText("4"); boton_pos4.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { boton_pos4ActionPerformed(evt); } });

getContentPane().add(boton_pos4); boton_pos4.setBounds(140, 420, 50, 30);

boton_pos5.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N boton_pos5.setText("5"); boton_pos5.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { boton_pos5ActionPerformed(evt); } }); getContentPane().add(boton_pos5); boton_pos5.setBounds(190, 420, 50, 30);

boton_pos6.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N boton_pos6.setText("6"); boton_pos6.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { boton_pos6ActionPerformed(evt); } }); getContentPane().add(boton_pos6); boton_pos6.setBounds(240, 420, 50, 30);

boton_pos7.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N boton_pos7.setText("7"); boton_pos7.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { boton_pos7ActionPerformed(evt);

} }); getContentPane().add(boton_pos7); boton_pos7.setBounds(140, 450, 50, 30);

boton_pos8.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N boton_pos8.setText("8"); boton_pos8.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { boton_pos8ActionPerformed(evt); } }); getContentPane().add(boton_pos8); boton_pos8.setBounds(190, 450, 50, 30);

jLabel7.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N jLabel7.setText("Posiciones"); getContentPane().add(jLabel7); jLabel7.setBounds(190, 370, 70, 15);

pos9.setFont(new java.awt.Font("DotumChe", 1, 76)); // NOI18N pos9.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); getContentPane().add(pos9); pos9.setBounds(270, 250, 100, 100);

pos1.setFont(new java.awt.Font("DotumChe", 1, 76)); // NOI18N pos1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); getContentPane().add(pos1);

pos1.setBounds(70, 50, 100, 100);

pos2.setFont(new java.awt.Font("DotumChe", 1, 76)); // NOI18N pos2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); getContentPane().add(pos2); pos2.setBounds(170, 50, 100, 100);

pos3.setFont(new java.awt.Font("DotumChe", 1, 76)); // NOI18N pos3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); getContentPane().add(pos3); pos3.setBounds(270, 50, 100, 100);

pos4.setFont(new java.awt.Font("DotumChe", 1, 76)); // NOI18N pos4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); getContentPane().add(pos4); pos4.setBounds(70, 150, 100, 100);

pos5.setFont(new java.awt.Font("DotumChe", 1, 76)); // NOI18N pos5.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); getContentPane().add(pos5); pos5.setBounds(170, 150, 100, 100);

pos6.setFont(new java.awt.Font("DotumChe", 1, 76)); // NOI18N pos6.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); getContentPane().add(pos6); pos6.setBounds(270, 150, 100, 100);

pos7.setFont(new java.awt.Font("DotumChe", 1, 76)); // NOI18N

pos7.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); getContentPane().add(pos7); pos7.setBounds(70, 250, 100, 100);

pos8.setFont(new java.awt.Font("DotumChe", 1, 76)); // NOI18N pos8.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); getContentPane().add(pos8); pos8.setBounds(170, 250, 100, 100);

pack(); }// //GEN-END:initComponents

//En estos métodos se activan los eventos click de los botones y se asigna el valor a la casilla correspondiente. private void boton_pos1ActionPerformed(java.awt.event.ActionEvent evt) {//GENFIRST:event_boton_pos1ActionPerformed pos1.setText(usuario);//Asigna el signo del usuario a la casilla. pos1.setForeground(Color.red); boton_pos1.setEnabled(false);//Deshabilita el botón. can++;//Aumenta en uno la cantidad de casillas ocupadas. if (determinarGanador()==0)//Sigue el juego y toma el turno la computadora. turnoComputadora(); }//GEN-LAST:event_boton_pos1ActionPerformed

private void boton_pos2ActionPerformed(java.awt.event.ActionEvent evt) {//GENFIRST:event_boton_pos2ActionPerformed pos2.setText(usuario);//Asigna el signo del usuario a la casilla. pos2.setForeground(Color.red); boton_pos2.setEnabled(false);//Deshabilita el botón.

can++;//Aumenta en uno la cantidad de casillas ocupadas. if (determinarGanador()==0)//Sigue el juego y toma el turno la computadora. turnoComputadora(); }//GEN-LAST:event_boton_pos2ActionPerformed

private void boton_pos3ActionPerformed(java.awt.event.ActionEvent evt) {//GENFIRST:event_boton_pos3ActionPerformed pos3.setText(usuario);//Asigna el signo del usuario a la casilla. pos3.setForeground(Color.red); boton_pos3.setEnabled(false);//Deshabilita el botón. can++;//Aumenta en uno la cantidad de casillas ocupadas. if (determinarGanador()==0)//Sigue el juego y toma el turno la computadora. turnoComputadora(); }//GEN-LAST:event_boton_pos3ActionPerformed

private void boton_pos4ActionPerformed(java.awt.event.ActionEvent evt) {//GENFIRST:event_boton_pos4ActionPerformed pos4.setText(usuario);//Asigna el signo del usuario a la casilla. pos4.setForeground(Color.red); boton_pos4.setEnabled(false);//Deshabilita el botón. can++;//Aumenta en uno la cantidad de casillas ocupadas. if (determinarGanador()==0)//Sigue el juego y toma el turno la computadora. turnoComputadora(); }//GEN-LAST:event_boton_pos4ActionPerformed

private void boton_pos5ActionPerformed(java.awt.event.ActionEvent evt) {//GENFIRST:event_boton_pos5ActionPerformed pos5.setText(usuario);//Asigna el signo del usuario a la casilla. pos5.setForeground(Color.red);

boton_pos5.setEnabled(false);//Deshabilita el botón. can++;//Aumenta en uno la cantidad de casillas ocupadas. if (determinarGanador()==0)//Sigue el juego y toma el turno la computadora. turnoComputadora(); }//GEN-LAST:event_boton_pos5ActionPerformed

private void boton_pos6ActionPerformed(java.awt.event.ActionEvent evt) {//GENFIRST:event_boton_pos6ActionPerformed pos6.setText(usuario);//Asigna el signo del usuario a la casilla. pos6.setForeground(Color.red); boton_pos6.setEnabled(false);//Deshabilita el botón. can++;//Aumenta en uno la cantidad de casillas ocupadas. if (determinarGanador()==0)//Sigue el juego y toma el turno la computadora. turnoComputadora(); }//GEN-LAST:event_boton_pos6ActionPerformed

private void boton_pos7ActionPerformed(java.awt.event.ActionEvent evt) {//GENFIRST:event_boton_pos7ActionPerformed pos7.setText(usuario);//Asigna el signo del usuario a la casilla. pos7.setForeground(Color.red); boton_pos7.setEnabled(false);//Deshabilita el botón. can++;//Aumenta en uno la cantidad de casillas ocupadas. if (determinarGanador()==0)//Sigue el juego y toma el turno la computadora. turnoComputadora(); }//GEN-LAST:event_boton_pos7ActionPerformed

private void boton_pos8ActionPerformed(java.awt.event.ActionEvent evt) {//GENFIRST:event_boton_pos8ActionPerformed pos8.setText(usuario);//Asigna el signo del usuario a la casilla.

pos8.setForeground(Color.red); boton_pos8.setEnabled(false);//Deshabilita el botón. can++;//Aumenta en uno la cantidad de casillas ocupadas. if (determinarGanador()==0)//Sigue el juego y toma el turno la computadora. turnoComputadora(); }//GEN-LAST:event_boton_pos8ActionPerformed

private void boton_pos9ActionPerformed(java.awt.event.ActionEvent evt) {//GENFIRST:event_boton_pos9ActionPerformed pos9.setText(usuario);//Asigna el signo del usuario a la casilla. pos9.setForeground(Color.red); boton_pos9.setEnabled(false);//Deshabilita el botón. can++;//Aumenta en uno la cantidad de casillas ocupadas. if (determinarGanador()==0)//Sigue el juego y toma el turno la computadora. turnoComputadora(); }//GEN-LAST:event_boton_pos9ActionPerformed

private void seguirJugando(){ //Reinicia todos los controles. boton_pos1.setEnabled(true); boton_pos2.setEnabled(true); boton_pos3.setEnabled(true); boton_pos4.setEnabled(true); boton_pos5.setEnabled(true); boton_pos6.setEnabled(true); boton_pos7.setEnabled(true); boton_pos8.setEnabled(true); boton_pos9.setEnabled(true); pos1.setText("");

pos2.setText(""); pos3.setText(""); pos4.setText(""); pos5.setText(""); pos6.setText(""); pos7.setText(""); pos8.setText(""); pos9.setText(""); if(computadora.equals("X")) turnoComputadora(); }

//Método que controla los turnos de la computadora verificando las posibles jugadas para que gane la partida //o que el usuario no pueda ganar. private void turnoComputadora(){ int pos;//Variable pos asigna el valor a la casilla. boolean valido;//Variable utilizada para los ciclos que se utilizan al asignar la casilla. switch (can) { case 0: //Todas las casillas están vacías, y entonces se asigna el valor a una casilla aleatoria //y deshabilita el botón correspondiente. pos = (int)(Math.random()*9);//Genera aleatoriamente la posición a colocar el signo. if (pos<1){ pos1.setText(computadora); pos1.setForeground(Color.blue); boton_pos1.setEnabled(false); } else if (pos<2){

pos2.setText(computadora); pos2.setForeground(Color.blue); boton_pos2.setEnabled(false); } else if (pos<3){ pos3.setText(computadora); pos3.setForeground(Color.blue); boton_pos3.setEnabled(false); } else if (pos<4){ pos4.setText(computadora); pos4.setForeground(Color.blue); boton_pos4.setEnabled(false); } else if (pos<5){ pos5.setText(computadora); pos5.setForeground(Color.blue); boton_pos5.setEnabled(false); } else if (pos<6){ pos6.setText(computadora); pos6.setForeground(Color.blue); boton_pos6.setEnabled(false); } else if (pos<7){ pos7.setText(computadora); pos7.setForeground(Color.blue); boton_pos7.setEnabled(false); } else if (pos<8){ pos8.setText(computadora); pos8.setForeground(Color.blue); boton_pos8.setEnabled(false); } else {

pos9.setText(computadora); pos9.setForeground(Color.blue); boton_pos9.setEnabled(false); } break; case 1: //En caso de que una casilla esté ocupada. valido = false;//Variable que controla si la posición es válida. while(valido == false){//Ciclo que se repetirá hasta que la posición sea válida. pos = (int)(Math.random()*9);//Genera un número aleatorio de 0-8. if (pos<1 && boton_pos1.isEnabled()){//Verifica que la posición no esté ocupada viendo si el botón está habilitado. pos1.setText(computadora); pos1.setForeground(Color.blue); boton_pos1.setEnabled(false); valido = true; } else if (pos<2 && boton_pos2.isEnabled()){ pos2.setText(computadora); pos2.setForeground(Color.blue); boton_pos2.setEnabled(false); valido = true; } else if (pos<3 && boton_pos3.isEnabled()){ pos3.setText(computadora); pos3.setForeground(Color.blue); boton_pos3.setEnabled(false); valido = true; } else if (pos<4 && boton_pos4.isEnabled()){ pos4.setText(computadora); pos4.setForeground(Color.blue);

boton_pos4.setEnabled(false); valido = true; } else if (pos<5 && boton_pos5.isEnabled()){ pos5.setText(computadora); pos5.setForeground(Color.blue); boton_pos5.setEnabled(false); valido = true; } else if (pos<6 && boton_pos6.isEnabled()){ pos6.setText(computadora); pos6.setForeground(Color.blue); boton_pos6.setEnabled(false); valido = true; } else if (pos<7 && boton_pos7.isEnabled()){ pos7.setText(computadora); pos7.setForeground(Color.blue); boton_pos7.setEnabled(false); valido = true; } else if (pos<8 && boton_pos8.isEnabled()){ pos8.setText(computadora); pos8.setForeground(Color.blue); boton_pos8.setEnabled(false); valido = true; } else if (pos<9 && boton_pos9.isEnabled()){ pos9.setText(computadora); pos9.setForeground(Color.blue); boton_pos9.setEnabled(false); valido = true; }

} break; default: //Evalúa todas las posibles opciones para ganar. Después asigna el signo a la casilla //y deshabilita el botón correspondiente. if(pos1.getText().equals(computadora) && pos2.getText().equals(computadora) && pos3.getText().equals("")){ pos3.setText(computadora); pos3.setForeground(Color.blue); boton_pos3.setEnabled(false); } else if(pos1.getText().equals(computadora) && pos2.getText().equals("") && pos3.getText().equals(computadora)){ pos2.setText(computadora); pos2.setForeground(Color.blue); boton_pos2.setEnabled(false); } else if(pos1.getText().equals("") && pos2.getText().equals(computadora) && pos3.getText().equals(computadora)){ pos1.setText(computadora); pos1.setForeground(Color.blue); boton_pos1.setEnabled(false); } else if(pos4.getText().equals(computadora) pos5.getText().equals(computadora) && pos6.getText().equals("")){

&&

pos6.setText(computadora); pos6.setForeground(Color.blue); boton_pos6.setEnabled(false); } else if(pos4.getText().equals(computadora) && pos5.getText().equals("") && pos6.getText().equals(computadora)){ pos5.setText(computadora); pos5.setForeground(Color.blue); boton_pos5.setEnabled(false);

} else if(pos4.getText().equals("") && pos5.getText().equals(computadora) && pos6.getText().equals(computadora)){ pos4.setText(computadora); pos4.setForeground(Color.blue); boton_pos4.setEnabled(false); } else if(pos7.getText().equals(computadora) pos8.getText().equals(computadora) && pos9.getText().equals("")){

&&

pos9.setText(computadora); pos9.setForeground(Color.blue); boton_pos9.setEnabled(false); } else if(pos7.getText().equals(computadora) && pos8.getText().equals("") && pos9.getText().equals(computadora)){ pos8.setText(computadora); pos8.setForeground(Color.blue); boton_pos8.setEnabled(false); } else if(pos7.getText().equals("") && pos8.getText().equals(computadora) && pos9.getText().equals(computadora)){ pos7.setText(computadora); pos7.setForeground(Color.blue); boton_pos7.setEnabled(false); } else if(pos1.getText().equals(computadora) pos4.getText().equals(computadora) && pos7.getText().equals("")){

&&

pos7.setText(computadora); pos7.setForeground(Color.blue); boton_pos7.setEnabled(false); } else if(pos1.getText().equals(computadora) && pos4.getText().equals("") && pos7.getText().equals(computadora)){ pos4.setText(computadora); pos4.setForeground(Color.blue); boton_pos4.setEnabled(false);

} else if(pos1.getText().equals("") && pos4.getText().equals(computadora) && pos7.getText().equals(computadora)){ pos1.setText(computadora); pos1.setForeground(Color.blue); boton_pos1.setEnabled(false); } else if(pos2.getText().equals(computadora) pos5.getText().equals(computadora) && pos8.getText().equals("")){

&&

pos8.setText(computadora); pos8.setForeground(Color.blue); boton_pos8.setEnabled(false); } else if(pos2.getText().equals(computadora) && pos5.getText().equals("") && pos8.getText().equals(computadora)){ pos5.setText(computadora); pos5.setForeground(Color.blue); boton_pos5.setEnabled(false); } else if(pos2.getText().equals("") && pos5.getText().equals(computadora) && pos8.getText().equals(computadora)){ pos2.setText(computadora); pos2.setForeground(Color.blue); boton_pos2.setEnabled(false); } else if(pos3.getText().equals(computadora) pos6.getText().equals(computadora) && pos9.getText().equals("")){

&&

pos9.setText(computadora); pos9.setForeground(Color.blue); boton_pos9.setEnabled(false); } else if(pos3.getText().equals(computadora) && pos6.getText().equals("") && pos9.getText().equals(computadora)){ pos6.setText(computadora); pos6.setForeground(Color.blue); boton_pos6.setEnabled(false);

} else if(pos3.getText().equals("") && pos6.getText().equals(computadora) && pos9.getText().equals(computadora)){ pos3.setText(computadora); pos3.setForeground(Color.blue); boton_pos3.setEnabled(false); } else if(pos1.getText().equals(computadora) pos5.getText().equals(computadora) && pos9.getText().equals("")){

&&

pos9.setText(computadora); pos9.setForeground(Color.blue); boton_pos9.setEnabled(false); } else if(pos1.getText().equals(computadora) && pos5.getText().equals("") && pos9.getText().equals(computadora)){ pos5.setText(computadora); pos5.setForeground(Color.blue); boton_pos5.setEnabled(false); } else if(pos1.getText().equals("") && pos5.getText().equals(computadora) && pos9.getText().equals(computadora)){ pos1.setText(computadora); pos1.setForeground(Color.blue); boton_pos1.setEnabled(false); } else if(pos3.getText().equals(computadora) pos5.getText().equals(computadora) && pos7.getText().equals("")){

&&

pos7.setText(computadora); pos7.setForeground(Color.blue); boton_pos7.setEnabled(false); } else if(pos3.getText().equals(computadora) && pos5.getText().equals("") && pos7.getText().equals(computadora)){ pos5.setText(computadora); pos5.setForeground(Color.blue); boton_pos5.setEnabled(false);

} else if(pos3.getText().equals("") && pos5.getText().equals(computadora) && pos7.getText().equals(computadora)){ pos3.setText(computadora); pos3.setForeground(Color.blue); boton_pos3.setEnabled(false); }//Evalúa todas las posible opciones para que el usuario no gane. Después agrega el signo a la casilla //y deshabilita el botón correspondiente. else if(pos1.getText().equals(usuario) && pos2.getText().equals(usuario) && pos3.getText().equals("")){ pos3.setText(computadora); pos3.setForeground(Color.blue); boton_pos3.setEnabled(false); } else if(pos1.getText().equals(usuario) && pos2.getText().equals("") && pos3.getText().equals(usuario)){ pos2.setText(computadora); pos2.setForeground(Color.blue); boton_pos2.setEnabled(false); } else if(pos1.getText().equals("") && pos2.getText().equals(usuario) && pos3.getText().equals(usuario)){ pos1.setText(computadora); pos1.setForeground(Color.blue); boton_pos1.setEnabled(false); } else if(pos4.getText().equals(usuario) && pos5.getText().equals(usuario) && pos6.getText().equals("")){ pos6.setText(computadora); pos6.setForeground(Color.blue); boton_pos6.setEnabled(false); } else if(pos4.getText().equals(usuario) && pos5.getText().equals("") && pos6.getText().equals(usuario)){ pos5.setText(computadora);

pos5.setForeground(Color.blue); boton_pos5.setEnabled(false); } else if(pos4.getText().equals("") && pos5.getText().equals(usuario) && pos6.getText().equals(usuario)){ pos4.setText(computadora); pos4.setForeground(Color.blue); boton_pos4.setEnabled(false); } else if(pos7.getText().equals(usuario) && pos8.getText().equals(usuario) && pos9.getText().equals("")){ pos9.setText(computadora); pos9.setForeground(Color.blue); boton_pos9.setEnabled(false); } else if(pos7.getText().equals(usuario) && pos8.getText().equals("") && pos9.getText().equals(usuario)){ pos8.setText(computadora); pos8.setForeground(Color.blue); boton_pos8.setEnabled(false); } else if(pos7.getText().equals("") && pos8.getText().equals(usuario) && pos9.getText().equals(usuario)){ pos7.setText(computadora); pos7.setForeground(Color.blue); boton_pos7.setEnabled(false); } else if(pos1.getText().equals(usuario) && pos4.getText().equals(usuario) && pos7.getText().equals("")){ pos7.setText(computadora); pos7.setForeground(Color.blue); boton_pos7.setEnabled(false); } else if(pos1.getText().equals(usuario) && pos4.getText().equals("") && pos7.getText().equals(usuario)){ pos4.setText(computadora);

pos4.setForeground(Color.blue); boton_pos4.setEnabled(false); } else if(pos1.getText().equals("") && pos4.getText().equals(usuario) && pos7.getText().equals(usuario)){ pos1.setText(computadora); pos1.setForeground(Color.blue); boton_pos1.setEnabled(false); } else if(pos2.getText().equals(usuario) && pos5.getText().equals(usuario) && pos8.getText().equals("")){ pos8.setText(computadora); pos8.setForeground(Color.blue); boton_pos8.setEnabled(false); } else if(pos2.getText().equals(usuario) && pos5.getText().equals("") && pos8.getText().equals(usuario)){ pos5.setText(computadora); pos5.setForeground(Color.blue); boton_pos5.setEnabled(false); } else if(pos2.getText().equals("") && pos5.getText().equals(usuario) && pos8.getText().equals(usuario)){ pos2.setText(computadora); pos2.setForeground(Color.blue); boton_pos2.setEnabled(false); } else if(pos3.getText().equals(usuario) && pos6.getText().equals(usuario) && pos9.getText().equals("")){ pos9.setText(computadora); pos9.setForeground(Color.blue); boton_pos9.setEnabled(false); } else if(pos3.getText().equals(usuario) && pos6.getText().equals("") && pos9.getText().equals(usuario)){ pos6.setText(computadora);

pos6.setForeground(Color.blue); boton_pos6.setEnabled(false); } else if(pos3.getText().equals("") && pos6.getText().equals(usuario) && pos9.getText().equals(usuario)){ pos3.setText(computadora); pos3.setForeground(Color.blue); boton_pos3.setEnabled(false); } else if(pos1.getText().equals(usuario) && pos5.getText().equals(usuario) && pos9.getText().equals("")){ pos9.setText(computadora); pos9.setForeground(Color.blue); boton_pos9.setEnabled(false); } else if(pos1.getText().equals(usuario) && pos5.getText().equals("") && pos9.getText().equals(usuario)){ pos5.setText(computadora); pos5.setForeground(Color.blue); boton_pos5.setEnabled(false); } else if(pos1.getText().equals("") && pos5.getText().equals(usuario) && pos9.getText().equals(usuario)){ pos1.setText(computadora); pos1.setForeground(Color.blue); boton_pos1.setEnabled(false); } else if(pos3.getText().equals(usuario) && pos5.getText().equals(usuario) && pos7.getText().equals("")){ pos7.setText(computadora); pos7.setForeground(Color.blue); boton_pos7.setEnabled(false); } else if(pos3.getText().equals(usuario) && pos5.getText().equals("") && pos7.getText().equals(usuario)){ pos5.setText(computadora);

pos5.setForeground(Color.blue); boton_pos5.setEnabled(false); } else if(pos3.getText().equals("") && pos5.getText().equals(usuario) && pos7.getText().equals(usuario)){ pos3.setText(computadora); pos3.setForeground(Color.blue); boton_pos3.setEnabled(false); } else if(can!=9){ valido = false;//Variable que controla si la posición es válida. while(valido == false){//Ciclo que se repetirá hasta que la posición sea válida. pos = (int)(Math.random()*9);//Genera un número aleatorio de 0-8. //Verifica que la posición no esté ocupada viendo si el botón está habilitado. En caso de estarlo se asigna el signo //se deshabilita el botón y cambia el valor de la variable que controla el ciclo para que se salga de él. if (pos<1 && boton_pos1.isEnabled()){ pos1.setText(computadora); pos1.setForeground(Color.blue); boton_pos1.setEnabled(false); valido = true; } else if (pos<2 && boton_pos2.isEnabled()){ pos2.setText(computadora); pos2.setForeground(Color.blue); boton_pos2.setEnabled(false); valido = true; } else if (pos<3 && boton_pos3.isEnabled()){ pos3.setText(computadora); pos3.setForeground(Color.blue); boton_pos3.setEnabled(false);

valido = true; } else if (pos<4 && boton_pos4.isEnabled()){ pos4.setText(computadora); pos4.setForeground(Color.blue); boton_pos4.setEnabled(false); valido = true; } else if (pos<5 && boton_pos5.isEnabled()){ pos5.setText(computadora); pos5.setForeground(Color.blue); boton_pos5.setEnabled(false); valido = true; } else if (pos<6 && boton_pos6.isEnabled()){ pos6.setText(computadora); pos6.setForeground(Color.blue); boton_pos6.setEnabled(false); valido = true; } else if (pos<7 && boton_pos7.isEnabled()){ pos7.setText(computadora); pos7.setForeground(Color.blue); boton_pos7.setEnabled(false); valido = true; } else if (pos<8 && boton_pos8.isEnabled()){ pos8.setText(computadora); pos8.setForeground(Color.blue); boton_pos8.setEnabled(false); valido = true; } else if (pos<9 && boton_pos9.isEnabled()){ pos9.setText(computadora);

pos9.setForeground(Color.blue); boton_pos9.setEnabled(false); valido = true; } } } break; } can++; determinarGanador(); }

//Método que evalúa el juego y devuelve 1 en caso de que haya ganado el usuario, 2 si ganó la computadora, 3 si hay empate //o 0 para indicar que siga el juego. private int determinarGanador(){ //Evaluar todas las posibles combinaciones para que el usuario gane. int seguir; if((pos1.getText().equals(usuario) pos3.getText().equals(usuario)) ||

&&

pos2.getText().equals(usuario)

&&

(pos4.getText().equals(usuario) pos6.getText().equals(usuario)) ||

&&

pos5.getText().equals(usuario)

&&

(pos7.getText().equals(usuario) pos9.getText().equals(usuario)) ||

&&

pos8.getText().equals(usuario)

&&

(pos1.getText().equals(usuario) pos7.getText().equals(usuario)) ||

&&

pos4.getText().equals(usuario)

&&

(pos2.getText().equals(usuario) pos8.getText().equals(usuario)) ||

&&

pos5.getText().equals(usuario)

&&

(pos3.getText().equals(usuario) pos9.getText().equals(usuario)) ||

&&

pos6.getText().equals(usuario)

&&

(pos1.getText().equals(usuario) pos9.getText().equals(usuario)) ||

&&

pos5.getText().equals(usuario)

&&

(pos3.getText().equals(usuario) pos7.getText().equals(usuario))){

&&

pos5.getText().equals(usuario)

&&

deshabilitar(); ganado++; cant_gan.setText(String.valueOf(ganado)); //Envía un mensaje al usuario con el resultado del juego y le pregunta si quiere seguir jugando. JOptionPane.showMessageDialog(null, "El juego ha sido ganado por el usuario.", "Resultado", JOptionPane.INFORMATION_MESSAGE); seguir = JOptionPane.showConfirmDialog(null, "¿Desea jugar de nuevo?", "Jugar de nuevo", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if(seguir == JOptionPane.YES_OPTION){//En caso de que la respuesta sea SÍ se reinician los controles y empieza de nuevo el juego. can=0; seguirJugando(); } return 1; } //Evaluar todas las posibles combinaciones para que la computadora gane. if((pos1.getText().equals(computadora) && pos2.getText().equals(computadora) && pos3.getText().equals(computadora)) || (pos4.getText().equals(computadora) && pos5.getText().equals(computadora) && pos6.getText().equals(computadora)) || (pos7.getText().equals(computadora) && pos8.getText().equals(computadora) && pos9.getText().equals(computadora)) || (pos1.getText().equals(computadora) && pos4.getText().equals(computadora) && pos7.getText().equals(computadora)) || (pos2.getText().equals(computadora) && pos5.getText().equals(computadora) && pos8.getText().equals(computadora)) ||

(pos3.getText().equals(computadora) && pos6.getText().equals(computadora) && pos9.getText().equals(computadora)) || (pos1.getText().equals(computadora) && pos5.getText().equals(computadora) && pos9.getText().equals(computadora)) || (pos3.getText().equals(computadora) && pos5.getText().equals(computadora) && pos7.getText().equals(computadora))){ deshabilitar(); perdido++; cant_per.setText(String.valueOf(perdido)); //Envía un mensaje al usuario con el resultado del juego y le pregunta si quiere seguir jugando. JOptionPane.showMessageDialog(null, "El juego ha sido ganado por la computadora.", "Resultado", JOptionPane.INFORMATION_MESSAGE); seguir = JOptionPane.showConfirmDialog(null, "¿Desea jugar de nuevo?", "Jugar de nuevo", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if(seguir == JOptionPane.YES_OPTION){//En caso de que la respuesta sea SÍ se reinician los controles y empieza de nuevo el juego. can=0; seguirJugando(); } return 2; } if(can==9){ //En caso de que quede empatado el juego. deshabilitar(); empatado++; cant_emp.setText(String.valueOf(empatado)); //Envía un mensaje al usuario con el resultado del juego y le pregunta si quiere seguir jugando. JOptionPane.showMessageDialog(null, "El juego ha terminado empatado.", "Resultado", JOptionPane.INFORMATION_MESSAGE); seguir = JOptionPane.showConfirmDialog(null, "¿Desea jugar de nuevo?", "Jugar de nuevo", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);

if(seguir == JOptionPane.YES_OPTION){//En caso de que la respuesta sea SÍ se reinician los controles y empieza de nuevo el juego. can=0; seguirJugando(); } return 3; } return 0; }

private void deshabilitar(){ //Deshabilita todos los botones boton_pos1.setEnabled(false); boton_pos2.setEnabled(false); boton_pos3.setEnabled(false); boton_pos4.setEnabled(false); boton_pos5.setEnabled(false); boton_pos6.setEnabled(false); boton_pos7.setEnabled(false); boton_pos8.setEnabled(false); boton_pos9.setEnabled(false); }

public static void main(String args[]) {

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

see

*/ try { for (javax.swing.UIManager.LookAndFeelInfo javax.swing.UIManager.getInstalledLookAndFeels()) {

info

if ("Windows".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Lev el.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Lev el.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Lev el.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Lev el.SEVERE, null, ex); } //

java.awt.EventQueue.invokeLater(new Runnable() { public void run() {

:

new NewJFrame().setVisible(true); } }); }

// Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton boton_pos1; private javax.swing.JButton boton_pos2; private javax.swing.JButton boton_pos3; private javax.swing.JButton boton_pos4; private javax.swing.JButton boton_pos5; private javax.swing.JButton boton_pos6; private javax.swing.JButton boton_pos7; private javax.swing.JButton boton_pos8; private javax.swing.JButton boton_pos9; private javax.swing.JLabel cant_emp; private javax.swing.JLabel cant_gan; private javax.swing.JLabel cant_per; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel7; private javax.swing.JSeparator jSeparator2; private javax.swing.JSeparator jSeparator3; private javax.swing.JSeparator jSeparator4; private javax.swing.JSeparator jSeparator5; private javax.swing.JLabel pos1; private javax.swing.JLabel pos2;

private javax.swing.JLabel pos3; private javax.swing.JLabel pos4; private javax.swing.JLabel pos5; private javax.swing.JLabel pos6; private javax.swing.JLabel pos7; private javax.swing.JLabel pos8; private javax.swing.JLabel pos9; // End of variables declaration//GEN-END:variables }

More Documents from "Jefry Martinez"

X-0.docx
June 2020 0
Chapter 5 Vocabs.docx
December 2019 17
Tes Kecermatan.pdf
November 2019 19
November 2019 13