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

[SOLUCIONADO] Obtener lista random array para slot

Estas en el tema de Obtener lista random array para slot en el foro de Flash y Actionscript en Foros del Web. Hola, tengo una pregunta.. Tengo un panel para gestionar la cantidad de articulos de un slot. En base a la cantidad de premios ingresada, elaboro ...
  #1 (permalink)  
Antiguo 28/11/2013, 07:48
 
Fecha de Ingreso: agosto-2011
Mensajes: 19
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Obtener lista random array para slot

Hola, tengo una pregunta..

Tengo un panel para gestionar la cantidad de articulos de un slot.

En base a la cantidad de premios ingresada, elaboro un erray y hago un random para que el orden de los premios sea diferente.

Pero cuando hago funcionar el random, los premios se desordenan, pero cuando hago funcionar el slot, no cumple con ese orden.

Código:
var jugadoresGanadores  = 0;
	var jugadorActual       = 0;

	var premiosTodos        = [];
	var premiosTodosShuffle = [];

	var premioPerdiste      = 0;
	var premioPendrive      = 0;
	var premioDoble         = 0;

	var ganadoPerdiste      = 0;
	var ganadoPendrive      = 0;
	var ganadoDoble         = 0;

        txtPerdiste.text  = premioPerdiste - ganadoPerdiste;
txtDoble.text     = premioDoble - ganadoDoble;
txtPendrive.text  = premioPendrive - ganadoPendrive;
txtJugadores.text = jugadorActual;

txtPerdisteGanados.text = ganadoPerdiste;
txtDobleGanados.text    = ganadoDoble;
txtPendriveGanados.text = ganadoPendrive;

btnInicializar.onPress = function(){
	
	ultPremio      = null;
	loops          = 0;
	premioPerdiste = txtPerdiste.text;	
	premioDoble    = txtDoble.text;
	premioPendrive = txtPendrive.text;
	lstPremios.removeAll();

	// Inicializar array 'premiosTodos'
	for (i=0; i<premioPerdiste; i++) {
		premiosTodos.push('Lo siento, no lo lograste');
		
		
	}
	
	for (i=0; i<premioPendrive; i++) {
		premiosTodos.push('Pendrive');
	}
	
	for (i=0; i<premioDoble; i++) {
		premiosTodos.push('Doble Chance');
	}
	
	while (premiosTodos.length > 0) {
		
		trace(premiosTodos);
		
		var x = random(premiosTodos.length);
		
		
		
		
		if (ultPremio == premiosTodos[x] &&
			premiosTodos.length > 5 &&
			premiosTodos[x] != 'Lo siento, no lo lograste' &&
			loops < 5
			) {
			loops++;
			continue;
		}

		ultPremio = premiosTodos[x];
		loops = 0;
		
		var item = premiosTodos.splice(x, 1)[0];
		premiosTodosShuffle.push(item);
		lstPremios.addItem(item);
	}
}

btnComenzarJuego.onPress = function(){
		
	gotoAndPlay(51);
	
}
Si yo ingreso una cantidad de cada producto, y hago un trace(premiosTodos) aqui:

Código:
while (premiosTodos.length > 0) {
		
		trace(premiosTodos);
		
		var x = random(premiosTodos.length);
Me devuelve lo siguiente, cuando en realidad ingrese una sola cantidad de cada uno.

"Lo siento, no lo lograste,Pendrive,Doble Chance
Pendrive,Doble Chance
Pendrive "

Etiquetas: arraylist, as2, random, slot
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 21:05.