Voy a intentar a ver si me puedo explicar...
Según tengo el código:
1- Genera un número random a encontrar por los jugadores
2- Pide número de jugadores (que serán el número de hilos)
3- Los jugadores generan números aleatorios para encontrar el random del punto 1
4- Hace el jugador 1 entero y pasa al jugador 2 y lo hace entero, pasa al jugador 3 y lo hace entero...
Código:
package hilos_java;
import java.lang.Math;
import java.util.ArrayList;
import java.util.Scanner;
public class hilos_1 extends Thread{
static Scanner teclado = new Scanner(System.in);
static int numeroJugadores;
static int numeroRandomFinal = (int) (Math.random()*100);;
int numeroRandomJugador;
int intentos;
int a;
int re=0;
public static void main(String[] args) throws InterruptedException {
System.out.println("Número generado: " + numeroRandomFinal);
System.out.print("Número de jugadores: ");
numeroJugadores = teclado.nextInt();
System.out.print("\n");
hilos_1 hilos = new hilos_1();
Thread[] Hil = new Thread[numeroJugadores];
for (int i = 0; i < Hil.length; i++){
System.out.println("***** Jugador-"+(i+1)+" *****");
Hil[i] = new Thread(hilos);
Hil[i].start();
Hil[i].join();
}
}//main
public void run() {
ArrayList<Integer> numeroRepeticion = new ArrayList<Integer>();
try {
for (a=0; a!=numeroRandomFinal;){
a = (int) (Math.random()*100);
while (numeroRepeticion.contains(a)){
a = (int) (Math.random()*100);
}
numeroRepeticion.add(a);
intentos++;
System.out.println("Intentos: " + intentos + " Numero:" + a);
sleep(10);
}//for
if(a == numeroRandomFinal){
System.out.println("\nEl jugador " + currentThread().getName() + " ha acertado el número.");
System.out.println("Numero de intentos: " + intentos + "\n");
intentos = 0;
//sleep(1000);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}//run
}//class
Lo que necesito es que el jugador 1 de un número y pase al jugador 2 diciendo otro número y el jugador 3 lo mismo y se vuelva a ir al jugador 1 para sacar otro número y así sucesivamente y cuando un jugador encuentre dicho número random se pare pero que los demás jugadores no paren hasta encontrar el número...
---Lo que me hace---
Código:
Número generado: 7
Número de jugadores: 3
***** Jugador-1 *****
Intentos: 1 Numero:77
Intentos: 2 Numero:81
Intentos: 3 Numero:22
Intentos: 44 Numero:67
Intentos: 48 Numero:7
El jugador Thread-1 ha acertado el número.
Numero de intentos: 5
***** Jugador-2 *****
Intentos: 1 Numero:42
Intentos: 2 Numero:33
Intentos: 3 Numero:81
El jugador Thread-2 ha acertado el número.
Numero de intentos: 3
***** Jugador-3 *****
Intentos: 1 Numero:8
El jugador Thread-3 ha acertado el número.
Numero de intentos: 1
Código:
***** Jugador-1 *****
Intentos: 1 Numero:77
***** Jugador-2 *****
Intentos: 1 Numero:42
***** Jugador-3 *****
Intentos: 1 Numero:8
***** Jugador-1 *****
Intentos: 2 Numero:73
***** Jugador-2 *****
Intentos: 2 Numero:43
***** Jugador-3 *****
Intentos: 2 Numero:33