Comunidad de diseño web y desarrollo en internet online

NOMBE ALEATORIO DESDE TXT EXTERNO PERO QUE NO SE REPITA

Citar            
MensajeEscrito el 27 Abr 2012 10:16 am
Estimados
Tengo un problema...
tengo una pelicula flashenla cual tengo este codigo

Código ActionScript :

ranQuote = new LoadVars();
ranQuote.onLoad = function(success) {
 if (success) {
     RanNum = Math.ceil(Math.random()*829);
     ran = this["quote"+RanNum];
     quote_txt.text = ran;
 }
 else {
     quote_txt.text = "The text failed to load due to an error";
 }
}
ranQuote.load("Quotes.txt");


el cual me muestra de forma aleatoria nombres en la pantalla desde un txt externo.

escrito de la siguiente forma

"quote1=Carlos Alarcón Castro&quote2=Jorge Alé Yarad&quote3=Bruno Baranda Ferrán&quote4=Luis Castillo Fuenzalida&quote5=Francisco De La Maza... etc"

como lo ago para que cada vez que yo aprete un boton me seleccione al azar un nombre de la lista y se refleje en un campo de texto dinamigo,y al presionar nuevamente el boton me muestre otro pero que este no se repita (quisas que se almacene pero que no buelva a salir)

Estare muy agradecido de sus respuestas
Saludos a todos

Por isasaurio

28 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Abr 2012 12:46 pm
Busca por "orden aleatorio que no se repita", fue tratado una decena de veces .... claro, no exactamente, tienes que adaptar la idea

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 28 Abr 2012 12:53 am
Lo que se me ocurre precisa el dato de cuántos nombres son.

Digamos que son X; tendrás que crear X variables:
Q1, Q2, etc, hasta QX.
A cada una le pones un valor random de 2X o algo así (mientras más > X, mejor).
Cuando presionas el botón, comparas cada una buscando cual tiene el mayor valor, tendrás que hacer un do while con eval @.@

Ta complicado.

Una vez que la encuentres, ponés en el botón eval( "quote"+2ndo caracter de la cadena de texto del nombre de la variable), por ejemplo digamos que Q4 es la que tuvo más valor, entonces en el botón debería aparecer el valor de quote4, o sea "quote" + 2ndo caracter de "Q4".
En realidad si averiguas la variable con do while y eval podrías tener una variable N, que sea el número de la Q favorecida. Con eso sería eval("quote"+N), eso debería aparecer en el botón.
Cuando aparezca, le das a la Q que corresponda el mínimo valor posible, para que no vuelva a ser seleccionada.

Bueno, supongo que no entendiste un pomo, y no tengo ganas de explicar cómo hacer el do while con eval, aunque bueno acá va:
N = 1;
NEXTN = 1;
DO
_____NEXTN=NEXTN+1;
_____Si eval("Q"+N) > eval("Q"+NEXTN)
___________N = 1;
_____SINO
___________N=2;
WHILE NEXTN<X

3 cosas:
1- No sé si en flashes recientes existe eval, capáz que cambió el nombre.
2- No sé si la condición del do while está bien, no es algo que haya aprendido del todo (de hecho son pocas cosas).
3- No es del todo justo, o sea los últimos nombres tendrán un poquititio más de chance de salir primeros, si no quieres eso tendrás que meter un else if y otras cosas.

En vez de usar NextN te convendría N y en vez de N te conviene BestN, lo hice así porque en el texto había mencionado N con la función de BestN.

Suerte en pila.

Capáz que en este tema encontrás mejor respuesta:
http://uruguaygamer.com/foro/topic.php?id=925

Por Tachikomaia

73 de clabLevel



 

chrome
Citar            
MensajeEscrito el 28 Abr 2012 10:37 am

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.