// Escriba la clase C3 que representa a un juego de dinero paramétrico:
//
// NĂºmero de jugadores: Random [2, 6]
// NĂºmero de jugadas : Random [2, 7]
// ganancia/jugada : Random [2, 8]
//
// Las salidas aleatorias de ejecuciones pueden ser:
//
// BIEN VENIDOS AL JUEGO DE LOS 3 RANDOM
// 1) NĂºmero de jugadores: 6
// 2) NĂºmero de jugadas : 2
// 3) Ganancia/jugada : [2, 2]
// Jugada J1 J2 J3 J4 J5 J6
// 1 2
// 2 2
// Total 0 2 0 0 0 2
// GanĂ³ el jugador 2: 2 soles.
//
// BIEN VENIDOS AL JUEGO DE LOS 3 RANDOM
// 1) NĂºmero de jugadores: 3
// 2) NĂºmero de jugadas : 7
// 3) Ganancia/jugada : [2, 6]
// Jugada J1 J2 J3
// 1 2 // usa formatos[0]
// 2 4 // usa formatos[1]
// 3 5
// 4 5
// 5 3
// 6 2
// 7 6 // usa formatos[6]
// Total 0 6 21
// GanĂ³ el jugador 3: 21 soles.
// Las clases representan soluciones muy completas de temas precisos, este es el caso; pero el
// cĂ³digo tiene alguna dificultad. En este caso los formatos de las ganancias de las jugadas es
// dinĂ¡mico y es lo que se pide programar, el resto del cĂ³digo es un obsequio:
import java.util.Random;
//class C3{
class Main{
public static void main(String[] args){
Random rn = new Random();
int NJugadores = 2 + rn.nextInt(5);
int NJugadas = 2 + rn.nextInt(6);
int maxGanancia = 2 + rn.nextInt(7);
int [] ganadores = new int[NJugadores];
String [] formatos = new String[NJugadores];
int i, j, ganador, ganancia;
// Saludos
System.out.println("BIEN VENIDOS AL JUEGO DE LOS 3 RANDOM");
System.out.println("1) NĂºmero de jugadores: " + NJugadores );
System.out.println("2) NĂºmero de jugadas : " + NJugadas );
System.out.println("3) Ganancia/jugada : [2, " + maxGanancia + "]");
// Formatos dinĂ¡micos para la jugadas
for(j=0; j<NJugadores; j++){
formatos[j] = "%d\t";
for(i=0; i<j; i++) formatos[j] += "\t";
formatos[j] += "%2d\n";
}
// Jugadas
System.out.print("Jugada" );
for(j=0; j<NJugadores; j++) System.out.print("\tJ" + (j+1));
System.out.println();
for(i=0; i<NJugadas; i++){
ganador = rn.nextInt(NJugadores);
ganancia = 2 + rn.nextInt(maxGanancia-1);
ganadores[ganador] += ganancia;
System.out.printf(formatos[ganador], i+1, ganancia);
}
// Resultados
ganador = 0;
ganancia = 0;
System.out.print("Total");
for(j=0; j<NJugadores; j++) {
System.out.printf("\t%2d", ganadores[j]);
if(ganancia<ganadores[j]) {
ganancia = ganadores[j];
ganador= j;
}
}
System.out.println("\nGanĂ³ el jugador " + (ganador+1) + ": " + ganancia + " soles.");
}
}