Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: shellb_c0de en 21 Noviembre 2013, 05:12 AM

Título: Juego de Adivinanza usando Random
Publicado por: shellb_c0de en 21 Noviembre 2013, 05:12 AM
Saludos Gente del Foro.

tengo este programita,  3 clases
1  se va a llamar AdivinarJuego
2  la otra se va a llamar  Jugador
y  la otra se va a llamar LanzarJuego que es la que me Lanzara el juego xD

Consiste en que el programa Genera un numero aleatorio de 1 a 100; de la clase Jugador se
crean 7 objetos y se llama el metodo que genera los 7 numeros aleatorios es decir para cada jugador, estos numeros a su vez se comparan con el numero a adivinar, el ciclo se repite hasta hacer coincider los numeros.

la cuestion aqui es
que codigo le escribirian al programa para que siempre gane el el jugador 6?


Codigo:


Código (java) [Seleccionar]


class AdivinarJuego{
Jugador p1;
Jugador p2;
Jugador p3;
Jugador p4;
Jugador p5;
Jugador p6;
Jugador p7;

public void EmpezarJuego() {           
p1 = new Jugador();
p2 = new Jugador();
p3 = new Jugador();
p4 = new Jugador();
p5 = new Jugador();
p6 = new Jugador();
p7 = new Jugador();

int adivinarp1 = 0;
int adivinarp2 = 0;
int adivinarp3 = 0;
int adivinarp4 = 0;
int adivinarp5 = 0;
int adivinarp6 = 0;
int adivinarp7 = 0;

boolean p1Acierta = false;
boolean p2Acierta= false;
boolean p3Acierta = false;
boolean p7Acierta = false;
boolean p6Acierta = false;
boolean p5Acierta = false;
boolean p4Acierta = false;

               int target = (int) (Math.random() * 100);
       
               System.out.println("Generando un numero entre el 1 y el 100");

               while(true) {
           System.out.println("El Numero a Adivinar es " + target);
           p1.Adivnar();
           p2.Adivnar();
           p3.Adivnar();
           p4.Adivnar();
           p5.Adivnar();
           p6.Adivnar();
           p7.Adivnar();
       
          adivinarp1 = p1.numero;
          System.out.println("Jugador 1 Lanzo  " + adivinarp1);
          adivinarp2 = p2.numero;
          System.out.println("Jugador 2 Lanzo  " + adivinarp2);
          adivinarp3 = p3.numero;
            System.out.println("jugador 3 Lanzo  " + adivinarp3);
          adivinarp4 = p4.numero;
          System.out.println("jugador 4 Lanzo  " + adivinarp4);
       
          adivinarp5 = p5.numero;
          System.out.println("jugador 5 Lanzo  " + adivinarp5);
       
          adivinarp6 = p6.numero;
          System.out.println("jugador 6 Lanzo  " + adivinarp6);
       
          adivinarp7 = p7.numero;
          System.out.println("jugador 7 Lanzo  " + adivinarp7);
       
       
          if (adivinarp1 == target) {
        p1Acierta = true;
                  }
          if (adivinarp2 == target) {
        p2Acierta = true;
                  }
                  if (adivinarp3 == target) {
                p3Acierta = true;
                  }
           
                  if (adivinarp4 == target) {
                 p4Acierta = true;
                  }
                  if (adivinarp5 == target) {
                     p5Acierta = true;
                 }
                 if (adivinarp6 == target) {
                 p6Acierta = true;
                 }
                 if (adivinarp7 == target) {
                  p7Acierta = true;
                 }
                     
                                                                           
                 if (p1Acierta || p2Acierta || p3Acierta   || p4Acierta  || p5Acierta  || p6Acierta  || p7Acierta) {
                      System.out.println("Tenemos un Ganador");
                      System.out.println("jugador 1 Acerto? " + p1Acierta);
                      System.out.println("Jugador 2 Acerto? " + p2Acierta);
                      System.out.println("Jugador 3 Acerto? " + p3Acierta);
                      System.out.println("Jugador 4 Acerto? " + p4Acierta);
                      System.out.println("Jugador 5 Acerto? " + p5Acierta);
                      System.out.println("Jugador 6 Acerto? " + p6Acierta);
                      System.out.println("Jugador 7 Acerto? " + p7Acierta);
                      System.out.println("Game Over.");
                      break;
                                     
                  } else {

   
                   System.out.println("Jugadores Intenten de nuevo");
                  }
              }
        }
}


class Jugador{
int numero = 0;
public void Adivnar(){
numero = (int)(Math.random() * 100);
System.out.println(numero);
}
}
public class LanzarJuego{
public static void main(String args[]){
AdivinarJuego jugar = new AdivinarJuego();
jugar.EmpezarJuego();
}

}



Título: Re: Juego de Adivinanza usando Random
Publicado por: Mitsu en 21 Noviembre 2013, 12:43 PM
No estoy seguro, pero puedes usar una semilla en el constructor de Random para generar el mismo número:

Código (=java) [Seleccionar]

double randomGenerator(long seed) {
    Random generator = new Random(seed);
    double num = generator.nextDouble() * (0.5);

    return num;
}


El objeto 6 puede hacer lo mismo para que hayan coincidencias. Pruébalo a ver si funciona.


Saludos.