Foro de elhacker.net

Programación => 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
  1.  
  2. class AdivinarJuego{
  3. Jugador p1;
  4. Jugador p2;
  5. Jugador p3;
  6. Jugador p4;
  7. Jugador p5;
  8. Jugador p6;
  9. Jugador p7;
  10.  
  11. public void EmpezarJuego() {            
  12. p1 = new Jugador();
  13. p2 = new Jugador();
  14. p3 = new Jugador();
  15. p4 = new Jugador();
  16. p5 = new Jugador();
  17. p6 = new Jugador();
  18. p7 = new Jugador();
  19.  
  20. int adivinarp1 = 0;
  21. int adivinarp2 = 0;
  22. int adivinarp3 = 0;
  23. int adivinarp4 = 0;
  24. int adivinarp5 = 0;
  25. int adivinarp6 = 0;
  26. int adivinarp7 = 0;
  27.  
  28. boolean p1Acierta = false;
  29. boolean p2Acierta= false;
  30. boolean p3Acierta = false;
  31. boolean p7Acierta = false;
  32. boolean p6Acierta = false;
  33. boolean p5Acierta = false;
  34. boolean p4Acierta = false;
  35.  
  36.               int target = (int) (Math.random() * 100);
  37.  
  38.               System.out.println("Generando un numero entre el 1 y el 100");
  39.  
  40.               while(true) {
  41.           System.out.println("El Numero a Adivinar es " + target);
  42.           p1.Adivnar();
  43.           p2.Adivnar();
  44.           p3.Adivnar();
  45.           p4.Adivnar();
  46.           p5.Adivnar();
  47.           p6.Adivnar();
  48.           p7.Adivnar();
  49.  
  50.          adivinarp1 = p1.numero;
  51.          System.out.println("Jugador 1 Lanzo  " + adivinarp1);
  52.          adivinarp2 = p2.numero;
  53.          System.out.println("Jugador 2 Lanzo  " + adivinarp2);
  54.          adivinarp3 = p3.numero;
  55.            System.out.println("jugador 3 Lanzo  " + adivinarp3);
  56.          adivinarp4 = p4.numero;
  57.          System.out.println("jugador 4 Lanzo  " + adivinarp4);
  58.  
  59.          adivinarp5 = p5.numero;
  60.          System.out.println("jugador 5 Lanzo  " + adivinarp5);
  61.  
  62.          adivinarp6 = p6.numero;
  63.          System.out.println("jugador 6 Lanzo  " + adivinarp6);
  64.  
  65.          adivinarp7 = p7.numero;
  66.          System.out.println("jugador 7 Lanzo  " + adivinarp7);
  67.  
  68.  
  69.          if (adivinarp1 == target) {
  70.         p1Acierta = true;
  71.                  }
  72.          if (adivinarp2 == target) {
  73.         p2Acierta = true;
  74.                  }
  75.                  if (adivinarp3 == target) {
  76.                 p3Acierta = true;
  77.                  }
  78.  
  79.                  if (adivinarp4 == target) {
  80.                 p4Acierta = true;
  81.                  }
  82.                  if (adivinarp5 == target) {
  83.                     p5Acierta = true;
  84.                 }
  85.                 if (adivinarp6 == target) {
  86.                 p6Acierta = true;
  87.                 }
  88.                 if (adivinarp7 == target) {
  89.                p7Acierta = true;
  90.                 }
  91.  
  92.  
  93.                 if (p1Acierta || p2Acierta || p3Acierta   || p4Acierta  || p5Acierta  || p6Acierta  || p7Acierta) {
  94.                      System.out.println("Tenemos un Ganador");
  95.                      System.out.println("jugador 1 Acerto? " + p1Acierta);
  96.                      System.out.println("Jugador 2 Acerto? " + p2Acierta);
  97.                      System.out.println("Jugador 3 Acerto? " + p3Acierta);
  98.                      System.out.println("Jugador 4 Acerto? " + p4Acierta);
  99.                      System.out.println("Jugador 5 Acerto? " + p5Acierta);
  100.                      System.out.println("Jugador 6 Acerto? " + p6Acierta);
  101.                      System.out.println("Jugador 7 Acerto? " + p7Acierta);
  102.                      System.out.println("Game Over.");
  103.                      break;
  104.  
  105.                  } else {
  106.  
  107.  
  108.                   System.out.println("Jugadores Intenten de nuevo");
  109.                  }
  110.              }
  111.        }
  112. }
  113.  
  114.  
  115. class Jugador{
  116. int numero = 0;
  117. public void Adivnar(){
  118. numero = (int)(Math.random() * 100);
  119. System.out.println(numero);
  120. }
  121. }
  122. public class LanzarJuego{
  123. public static void main(String args[]){
  124. AdivinarJuego jugar = new AdivinarJuego();
  125. jugar.EmpezarJuego();
  126. }
  127.  
  128. }
  129.  
  130.  
  131.  


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
  1. double randomGenerator(long seed) {
  2.    Random generator = new Random(seed);
  3.    double num = generator.nextDouble() * (0.5);
  4.  
  5.    return num;
  6. }
  7.  

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


Saludos.