Una dudilla para un programa Java

Iniciado por Fryuio, 30 Noviembre 2016, 12:33 PM

0 Miembros y 1 Visitante están viendo este tema.

Fryuio

Hola muy buenas, necesitaría que alguien me diese una pista de como puedo hacer esto.

El ejemplo es el siguiente:

Yo ejecuto un juego, ejemplo:
-Juego1
-Juego2
...
etc

Y al acabarlo, me pone esto.
Juego1 (Acabado en x intentos)
Juego2
...
etc

Hasta ahí bien, lo que yo quiero saber es como puedo decirle que esos intentos (x) no cambien si al hacer otra vez el juego son mayores que los de antes, es decir, al ejecutar otra vez el juego y tener unos intentos "y", si esos "y" son mayores que los "x", no cambie ese valor.

El problema que tengo es que me los cambia sea cual sea los valores, y bueno necesito algo de ayuda de alguien que me diga por donde podrían ir los tiros. Gracias de antemano.

Orubatosu

Hay dos opciones. Una es declarar esa variable como estatica, con lo que será compartida por cualquier clase que haya en el programa (fuera de otras clases claro). Si el problema es que se pone a cero cada vez que inicias el programa, entonces es algo tan simple como que debes de guardar ese dato en un recurso externo. Lo normal es que en un fichero, por ejemplo uno de simple texto plano
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998

Fryuio

Cita de: Orubatosu en 30 Noviembre 2016, 19:22 PM
Hay dos opciones. Una es declarar esa variable como estatica, con lo que será compartida por cualquier clase que haya en el programa (fuera de otras clases claro). Si el problema es que se pone a cero cada vez que inicias el programa, entonces es algo tan simple como que debes de guardar ese dato en un recurso externo. Lo normal es que en un fichero, por ejemplo uno de simple texto plano

No no me has entendido. Yo no quiero que los datos se guarden al finalizar el programa. Yo lo que digo es que cuando esté el programa en ejecución si tú haces el juego 1 vez, te ponga esos intentos. Pero si lo haces una 2º vez, si esos intentos son menores que los de la 1º vez, cambien, si y solo sí, son menores que los primeros. De momento no me interesa almacenar los intentos en ningún sitio, quiero que sean volátiles pero que se actualicen como he comentado xd. Gracias

0xFer

#3
Muestra lo que tienes para dar una idea, por ejemplo me imagino algo como:

Código (java) [Seleccionar]

class Juego{
   private int intentosMin = 99; //cualquier número muy alto

public void play(){
   int intentos = 1;
   /*
   * Aqui la lógica del juego
   * intentos++;
   */
   if( intentos < intentosMin)
       intentosMin = intentos;
   
    System.out.println("Terminado en " + intentos + " intentos");
    System.out.println("Record : " + intentosMin + " intentos");
}

}


Código (java) [Seleccionar]
Juego miJuego = new Juego();
miJuego.play(); //jugar por primera vez
miJuego.play(); //jugar por segunda vez

Saludos  ;D
Código (java) [Seleccionar]
int getRandomNumber(){
    return 4; //chosen by fair dice roll
              //guaranteed to be random
}

Fryuio

Cita de: 0xFer en  1 Diciembre 2016, 18:11 PM
Muestra lo que tienes para dar una idea, por ejemplo me imagino algo como:

Código (java) [Seleccionar]

class Juego{
   private int intentosMin = 99; //cualquier número muy alto

public void play(){
   int intentos = 1;
   /*
   * Aqui la lógica del juego
   * intentos++;
   */
   if( intentos < intentosMin)
       intentosMin = intentos;
   
    System.out.println("Terminado en " + intentos + " intentos");
    System.out.println("Record : " + intentosMin + " intentos");
}

}


Código (java) [Seleccionar]
Juego miJuego = new Juego();
miJuego.play(); //jugar por primera vez
miJuego.play(); //jugar por segunda vez

Saludos  ;D

Bueno creo que con lo que acabas de hacer, me has dado la idea que necesitaba. MUCHAS GRACIAS XD