Foros del Web » Creando para Internet » Flash y Actionscript »

Desordenar turnos de jugadores en miniJuego

Estas en el tema de Desordenar turnos de jugadores en miniJuego en el foro de Flash y Actionscript en Foros del Web. Qué tal. Tengo un problema con un juego tipo trivial y no logro resolverlo: Tengo de 2 a 4 jugadores definidos en arrays con una ...
  #1 (permalink)  
Antiguo 04/01/2011, 05:03
 
Fecha de Ingreso: marzo-2005
Mensajes: 26
Antigüedad: 19 años, 7 meses
Puntos: 0
Pregunta Desordenar turnos de jugadores en miniJuego

Qué tal. Tengo un problema con un juego tipo trivial y no logro resolverlo:

Tengo de 2 a 4 jugadores definidos en arrays con una serie de atributos. Ante de empezar la partida necesito desordenarlos y que mi jug1 se convierta, por ejemplo, en player3, el jug2 en player1... etc, a partir de un random:

Código actionscript:
Ver original
  1. stop();
  2.  
  3. //DESORDENAMOS LOS TURNOS
  4. function mezclar(bar){
  5.    var m= bar.length-1;
  6.    for (var i=m;i>1;i--){
  7.       alea=Math.floor(i*Math.random());
  8.       temp=bar[i];
  9.        bar[i]=bar[alea];
  10.        bar[alea]=temp;
  11.     }
  12.    return(bar);
  13. }
  14. arrTurnos=[1,2,3,4];
  15. mezclar (arrTurnos);
  16.  
  17. //OBTENGO CADA JUGADOR CON SUS NOMBRES, TURNOS, Y POSICIÓN ACTUAL
  18. jug1=[_root.nombre01,arrTurnos[0],pos1];
  19. jug2=[_root.nombre02,arrTurnos[1],pos2];
  20. jug3=[_root.nombre03,arrTurnos[2],pos3];
  21. jug4=[_root.nombre04,arrTurnos[3],pos4];
  22.  
  23. trace("-------------------------------");
  24. trace(arrTurnos);
  25. trace("-------------------------------");
  26. trace(jug1);
  27. trace("-------------------------------");

Hasta aquí obtengo buenos resultados, pero, ¿cómo reasigno los turnos para que mis jugadores queden por ejemplo así?

player1=jug4;
player2=jug2;
player3=jug1;
player4=jug3;

Muchas gracias.

Saludos.

Última edición por _WILCO_; 04/01/2011 a las 05:45
  #2 (permalink)  
Antiguo 04/01/2011, 09:10
Avatar de Manuellama  
Fecha de Ingreso: noviembre-2006
Ubicación: Zafra, Extremadura, Spain, Spain
Mensajes: 174
Antigüedad: 18 años
Puntos: 10
Respuesta: Desordenar turnos de jugadores en miniJuego

function mezclar(bar:Array)
{
for (i=bar.length-1;i> 1; i--)
{
alea=Math.floor(i*Math.random());
temp=bar[i];
bar[i]=bar[alea];
bar[alea]=temp;
}
return bar;
}

function turnos(){
arrTurnos=[1,2,3,4];
mezclar (arrTurnos);
jug1=[_root.nombre01,arrTurnos[0],pos1];
jug2=[_root.nombre02,arrTurnos[1],pos2];
jug3=[_root.nombre03,arrTurnos[2],pos3];
jug4=[_root.nombre04,arrTurnos[3],pos4];
trace(jug1);
trace(jug2);
trace(jug3);
trace(jug4);
}

turnos();

Ese es el código. Cada vez que quieras cambiar de orden a los jugadores, ejecuta turnos();
  #3 (permalink)  
Antiguo 04/01/2011, 09:33
 
Fecha de Ingreso: marzo-2005
Mensajes: 26
Antigüedad: 19 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Desordenar turnos de jugadores en miniJuego

Funciona perfectamente, gracias Manuellama.

Etiquetas: desordenar, turnos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:23.