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:
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); }
}
public class LanzarJuego{
public static void main
(String args
[]){ AdivinarJuego jugar = new AdivinarJuego();
jugar.EmpezarJuego();
}
}
No estoy seguro, pero puedes usar una semilla en el constructor de Random para generar el mismo número:
double randomGenerator(long 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.