Juego de Adivinanza usando Random

Iniciado por shellb_c0de, 21 Noviembre 2013, 05:12 AM

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

shellb_c0de

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();
}

}



"Tu vida solo es la suma del resto de una ecuación no balanceada, connatural a la programación de Matrix. Eres el producto eventual de una anomalía, que no se ha logrado suprimir de esta armonía de precisión matemática. Aunque sigues siendo una incomodidad que evito con frecuencia, es previsible y no escapa a unas medidas de control que te han conducido inexorablemente aquí.

Mitsu

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.