AYUDAAAA!

Cuestiones y dudas acerca de lenguajes de programación diversos.

Moderador: Moderadores

Avatar de Usuario
ATZUERUU

AYUDAAAA!

Mensaje por ATZUERUU » Mar Abr 10, 2007 1:14 am

yo estoy haciendo un juego de craps el cual consiste en un juego de dados tienes q lanzar los dados y si sale el numero 7 u 11 ganas , 2 3 o 12 pierdes , pero si sacas alguno de los otros numeros tienes q acumular los puntos y volver a lanzar el dadoo pero tengo un error y no lo encuentro y es q me mantiene la misma suma cada vez q lanzo los dados entonces los condicionales no me sirven coño si alguien me ve el error voy a postear el programa

class juegoCraps
{

public static void main(String args[])
{
menu();

}

static void menu()
{
int menu=0;
System.out.println("***BIENVENIDO AL JUEGO CRAPS***");
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("O)Presione 1 para comenzar a jugar");
System.out.println("O)Presione 2 para ver las estadisticas");
System.out.println("O)Persione 3 para salir del juego");
menu = CTeclado.ReadInt();
switch (menu)
{
case 1:
int suma=0;
suma=tirarDados();
validacion(suma);
break;
case 2:
//estadisticas();
break;
case 3:
System.out.println("SE TERMINO EL PROGRAMA");
break;
}
}

static int tirarDados()
{
int tirar=0,suma=0;
System.out.println("PRESIONE 1 PARA TIRAR LOS DADOS");
tirar = CTeclado.ReadInt();
if (tirar==1)
{
int crap1=0,crap2=0;
String dado1="|0 | => 1";
String dado2="|0 0 | => 2";
String dado3="|0 0 0 | => 3";
String dado4="|0 0 0 0 | => 4";
String dado5="|0 0 0 0 0 | => 5";
String dado6="|0 0 0 0 0 0| => 6";

crap1=1+(int)(Math.random()*6);
crap2=1+(int)(Math.random()*6);
suma=crap1+crap2;
if (crap1==1)
System.out.println(dado1);
if (crap1==2)
System.out.println(dado2);
if (crap1==3)
System.out.println(dado3);
if (crap1==4)
System.out.println(dado4);
if (crap1==5)
System.out.println(dado5);
if (crap1==6)
System.out.println(dado6);
System.out.println("");
System.out.println("");
if (crap2==1)
System.out.println(dado1);
if (crap2==2)
System.out.println(dado2);
if (crap2==3)
System.out.println(dado3);
if (crap2==4)
System.out.println(dado4);
if (crap2==5)
System.out.println(dado5);
if (crap2==6)
System.out.println(dado6);
System.out.println("LA SUMA ES: "+suma);

}
return suma;

}
static void validacion(int suma)
{

int punto=0;
if ((suma==7)||(suma==11))
{
System.out.println("FELICIDADES USTED HA GANADOOO!!!");
}
else if ((suma==2)||(suma==3)||(suma==12))
System.out.println("USTED HA PERDIDO INTENTE DENUEVO!!!!");
else
continua(suma);


}

static void continua(int suma)
{


int punto=suma;
while ((suma!=punto)||(suma!=7))
{
tirarDados();
System.out.println("SUS PUNTOS SON: "+punto);
System.out.println(+suma);

}
if (suma==7)
System.out.println("USTED HA PERDIDO INTENTE DENUEVO!!!!");
else
System.out.println("FELICIDADES USTED HA GANADOOO!!!");

}
}

Jamil
Junior
Mensajes: 9
Registrado: Lun Abr 16, 2007 10:01 pm
Ubicación: Cuba

para ATZUERUU

Mensaje por Jamil » Mar Abr 17, 2007 8:41 pm

Prueba con un enfoque diferente demasiados if cuando salga 7 u 11 si,los demas por default los sumas y ya, si no prueba hacer la suma al fina de todo el código. Ej

class juegoCraps
{

public static void main(String args[])
{
menu();

}

static void menu()
{
int menu=0;
System.out.println("***BIENVENIDO AL JUEGO CRAPS***");
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("O)Presione 1 para comenzar a jugar");
System.out.println("O)Presione 2 para ver las estadisticas");
System.out.println("O)Persione 3 para salir del juego");
menu = CTeclado.ReadInt();
switch (menu)
{
case 1:
int suma=0;
suma=tirarDados();
validacion(suma);
break;
case 2:
//estadisticas();
break;
case 3:
System.out.println("SE TERMINO EL PROGRAMA");
break;
}
}

static int tirarDados()
{
int tirar=0,suma=0;
System.out.println("PRESIONE 1 PARA TIRAR LOS DADOS");
tirar = CTeclado.ReadInt();
if (tirar==1)
{
int crap1=0,crap2=0;
String dado1="|0 | => 1";
String dado2="|0 0 | => 2";
String dado3="|0 0 0 | => 3";
String dado4="|0 0 0 0 | => 4";
String dado5="|0 0 0 0 0 | => 5";
String dado6="|0 0 0 0 0 0| => 6";

crap1=1+(int)(Math.random()*6);
crap2=1+(int)(Math.random()*6);
suma=crap1+crap2; (de aqui)
if (crap1==1)
System.out.println(dado1);
if (crap1==2)
System.out.println(dado2);
if (crap1==3)
System.out.println(dado3);
if (crap1==4)
System.out.println(dado4);
if (crap1==5)
System.out.println(dado5);
if (crap1==6)
System.out.println(dado6);
System.out.println("");
System.out.println("");
if (crap2==1)
System.out.println(dado1);
if (crap2==2)
System.out.println(dado2);
if (crap2==3)
System.out.println(dado3);
if (crap2==4)
System.out.println(dado4);
if (crap2==5)
System.out.println(dado5);
if (crap2==6)
(Aqui)
System.out.println(dado6);
System.out.println("LA SUMA ES: "+suma);

}
return suma;

}
static void validacion(int suma)
{

int punto=0;
if ((suma==7)||(suma==11))
{
System.out.println("FELICIDADES USTED HA GANADOOO!!!");
}
else if ((suma==2)||(suma==3)||(suma==12))
System.out.println("USTED HA PERDIDO INTENTE DENUEVO!!!!");
else
continua(suma);


}

static void continua(int suma)
{


int punto=suma;
while ((suma!=punto)||(suma!=7))
{
tirarDados();
System.out.println("SUS PUNTOS SON: "+punto);
System.out.println(+suma);

}
if (suma==7)
System.out.println("USTED HA PERDIDO INTENTE DENUEVO!!!!");
else
System.out.println("FELICIDADES USTED HA GANADOOO!!!");

}
Cubano e Industrialista

Responder