ayuda urgente
Publicado por Leonardo (1 intervención) el 03/08/2008 21:55:12
tengo que entregar este proyecto el lunes, he pasado desde las 6 pm ayer quitando bugs pero no lo logro agradeceria cualquier ayuda, ya esta terminadoi solo quedan unos bugs que arreglar
[CODE]
import javax.swing.*;
import java.io.*;
public class CuatroEnRaya{
//Aqui inicializo todas las variables como globales por facilidad para trabajar entre metodos
//Gracias a esto puedo utilizar los metodos como void
BufferedReader in= new BufferedReader(new InputStreamReader(System.in));
String salir="";
int salirint=0;
String tamaño="";
int n=0;
String nn="";
boolean valorn=true;
String[][] grilla;
String Jugador1="";
String Jugador2="";
String bienstr="";
int bien=0;
boolean Ganar=false;
int turno=0;
String ganador="";
boolean Empate=false;
int JugTurn=0;
String numcolumna="";
boolean JugadaValida=false;
String Jugadastr="";
int Jugada=0;
boolean JugadaValida2=false;
int CasillaValida=0;
int CasillaValida2=0;
int fila=0;
int valorGanar=0;
int ValorEmpate=0;
public void MenuJuego(){
//Este metodo le pregunta al usuario si desea jugar o abandonar el juego
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
//La clase anterior hace que java utilice el formato de windows para las ventanas de interfaz grafica
salir=JOptionPane.showInputDialog(null,"Bienvenido al juego Cuatro en Raya Si desea jugar digite 1, para salir presione cualquier otra tecla");
//Conversion de el numero introducido por el ususario a entero
salirint=Integer.parseInt(salir);
if(salirint==1){
NuevoArreglo();
}
else{
JOptionPane.showMessageDialog(null,"El programa ha terminado Gracias por utilizar el programa","Adios",JOptionPane.INFORMATION_MESSAGE);
}
}catch (Exception e){
}
}
public void NuevoArreglo(){
//Este metodo solicita al usuario el tamaño y lo asigna al arreglo
//El do-while es para asegurar que el valor de n es un numero mayor o igual a 4
//Tambien en este metodo se llama al metodo NumFilaYColumna
do{
valorn=true;
nn=JOptionPane.showInputDialog(null,"Por favor introduzca la cantidad de casillas de lado deseadas (utilice solamente numeros mayores a cero, no utilice letras)","Cantidad de casillas de lado");
try{
//Conversion de el numero introducido por el ususario a entero
n=Integer.parseInt(nn);
n=n+1;
}catch (Exception e){
JOptionPane.showMessageDialog(null," El valor no es valido, introduzca uno valido ","Valor incorrecto",JOptionPane.WARNING_MESSAGE);
valorn=false;
}
if((n<4)||(n>9)){
JOptionPane.showMessageDialog(null," El valor no es valido, introduzca uno valido ","Valor incorrecto",JOptionPane.WARNING_MESSAGE);
valorn=false;
}
}while(valorn!=true);
//Inicializo el arreglo
grilla= new String[n][n];
NumFilaYColumna();
}
public void NumFilaYColumna(){
//Este metodo pone los numeros de fila y columna en el arreglo
//Tambien coloca un asterisco como valor inical de cada casilla
for(int i=0;i<n;i++){
if(i==0){
for(int j=0;j<n;j++){
numcolumna= Integer.toString(j);
grilla[i][j]=numcolumna;
grilla[j][i]=numcolumna;
}
}else{
for(int j=0;j<n;j++){
if(j!=0){
grilla[i][j]="*";
}
}
}
}
NuevoJuego();
}
public void NuevoJuego(){
//En este metodo se toman los nombres de los jugadores
//Tambien se felicita al ganador y se llama al metodo MenuJuego
//Ademas se dice de que jugador es el turno y se llama al metodo turno
bien=0;
while(bien!=1){
try{
Jugador1=JOptionPane.showInputDialog(null,"Jugador 1 juega con X, favor introducir su nombre","Jugador1");
Jugador2=JOptionPane.showInputDialog(null,"Jugador 2 juega con O, favor introducir su nombre","Jugador2");
bienstr=JOptionPane.showInputDialog(null,"Jugador 1: "+Jugador1+" "+"Jugador 2: "+Jugador2+" "+"Si es correcto digite 1, sino presione cualquier otra tecla");
bien=Integer.parseInt(bienstr);
while((Ganar!=true)&&(bien==1)){
turno++;
if(turno%2==1){
JugadaValida=false;
JOptionPane.showMessageDialog(null,""+Jugador1+" Es su turno","Su turno",JOptionPane.INFORMATION_MESSAGE);
JugTurn=1;
ganador=Jugador1;
Turno();
}else{
JugadaValida2=false;
JOptionPane.showMessageDialog(null,""+Jugador2+" Es su turno","Su turno",JOptionPane.INFORMATION_MESSAGE);
JugTurn=0;
ganador=Jugador2;
Turno();
}
Victoria();
}
if(Ganar==true){
JOptionPane.showMessageDialog(null,""+ganador+"Usted ha ganado","Felicidades",JOptionPane.INFORMATION_MESSAGE);
Ganar=false;
MenuJuego();
}else{
if(Empate==true){
JOptionPane.showMessageDialog(null,"La partida ha terminado en empate","Empate",JOptionPane.INFORMATION_MESSAGE);
Empate=false;
MenuJuego();
}
}
}catch(Exception e){
}
}
}
[/CODE]
[CODE]
import javax.swing.*;
import java.io.*;
public class CuatroEnRaya{
//Aqui inicializo todas las variables como globales por facilidad para trabajar entre metodos
//Gracias a esto puedo utilizar los metodos como void
BufferedReader in= new BufferedReader(new InputStreamReader(System.in));
String salir="";
int salirint=0;
String tamaño="";
int n=0;
String nn="";
boolean valorn=true;
String[][] grilla;
String Jugador1="";
String Jugador2="";
String bienstr="";
int bien=0;
boolean Ganar=false;
int turno=0;
String ganador="";
boolean Empate=false;
int JugTurn=0;
String numcolumna="";
boolean JugadaValida=false;
String Jugadastr="";
int Jugada=0;
boolean JugadaValida2=false;
int CasillaValida=0;
int CasillaValida2=0;
int fila=0;
int valorGanar=0;
int ValorEmpate=0;
public void MenuJuego(){
//Este metodo le pregunta al usuario si desea jugar o abandonar el juego
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
//La clase anterior hace que java utilice el formato de windows para las ventanas de interfaz grafica
salir=JOptionPane.showInputDialog(null,"Bienvenido al juego Cuatro en Raya Si desea jugar digite 1, para salir presione cualquier otra tecla");
//Conversion de el numero introducido por el ususario a entero
salirint=Integer.parseInt(salir);
if(salirint==1){
NuevoArreglo();
}
else{
JOptionPane.showMessageDialog(null,"El programa ha terminado Gracias por utilizar el programa","Adios",JOptionPane.INFORMATION_MESSAGE);
}
}catch (Exception e){
}
}
public void NuevoArreglo(){
//Este metodo solicita al usuario el tamaño y lo asigna al arreglo
//El do-while es para asegurar que el valor de n es un numero mayor o igual a 4
//Tambien en este metodo se llama al metodo NumFilaYColumna
do{
valorn=true;
nn=JOptionPane.showInputDialog(null,"Por favor introduzca la cantidad de casillas de lado deseadas (utilice solamente numeros mayores a cero, no utilice letras)","Cantidad de casillas de lado");
try{
//Conversion de el numero introducido por el ususario a entero
n=Integer.parseInt(nn);
n=n+1;
}catch (Exception e){
JOptionPane.showMessageDialog(null," El valor no es valido, introduzca uno valido ","Valor incorrecto",JOptionPane.WARNING_MESSAGE);
valorn=false;
}
if((n<4)||(n>9)){
JOptionPane.showMessageDialog(null," El valor no es valido, introduzca uno valido ","Valor incorrecto",JOptionPane.WARNING_MESSAGE);
valorn=false;
}
}while(valorn!=true);
//Inicializo el arreglo
grilla= new String[n][n];
NumFilaYColumna();
}
public void NumFilaYColumna(){
//Este metodo pone los numeros de fila y columna en el arreglo
//Tambien coloca un asterisco como valor inical de cada casilla
for(int i=0;i<n;i++){
if(i==0){
for(int j=0;j<n;j++){
numcolumna= Integer.toString(j);
grilla[i][j]=numcolumna;
grilla[j][i]=numcolumna;
}
}else{
for(int j=0;j<n;j++){
if(j!=0){
grilla[i][j]="*";
}
}
}
}
NuevoJuego();
}
public void NuevoJuego(){
//En este metodo se toman los nombres de los jugadores
//Tambien se felicita al ganador y se llama al metodo MenuJuego
//Ademas se dice de que jugador es el turno y se llama al metodo turno
bien=0;
while(bien!=1){
try{
Jugador1=JOptionPane.showInputDialog(null,"Jugador 1 juega con X, favor introducir su nombre","Jugador1");
Jugador2=JOptionPane.showInputDialog(null,"Jugador 2 juega con O, favor introducir su nombre","Jugador2");
bienstr=JOptionPane.showInputDialog(null,"Jugador 1: "+Jugador1+" "+"Jugador 2: "+Jugador2+" "+"Si es correcto digite 1, sino presione cualquier otra tecla");
bien=Integer.parseInt(bienstr);
while((Ganar!=true)&&(bien==1)){
turno++;
if(turno%2==1){
JugadaValida=false;
JOptionPane.showMessageDialog(null,""+Jugador1+" Es su turno","Su turno",JOptionPane.INFORMATION_MESSAGE);
JugTurn=1;
ganador=Jugador1;
Turno();
}else{
JugadaValida2=false;
JOptionPane.showMessageDialog(null,""+Jugador2+" Es su turno","Su turno",JOptionPane.INFORMATION_MESSAGE);
JugTurn=0;
ganador=Jugador2;
Turno();
}
Victoria();
}
if(Ganar==true){
JOptionPane.showMessageDialog(null,""+ganador+"Usted ha ganado","Felicidades",JOptionPane.INFORMATION_MESSAGE);
Ganar=false;
MenuJuego();
}else{
if(Empate==true){
JOptionPane.showMessageDialog(null,"La partida ha terminado en empate","Empate",JOptionPane.INFORMATION_MESSAGE);
Empate=false;
MenuJuego();
}
}
}catch(Exception e){
}
}
}
[/CODE]
Valora esta pregunta


0