Com fer que no es repeteixi un número aleatori

Programació amb Actionscript

Com fer que no es repeteixi un número aleatori

EntradaAutor: Loli Data: dc. jul. 02, 2003 12:20 pm

Hola "chiquillos"!

Estic intentant fer un trivial on es van carregant les preguntes externament de la següent manera:

on (press){
i= random (25)
loadVariables("cultura/"+i+"/text.txt","_root")
}

fins aquí no tinc problema, el cas és que el que m'agradaria aconseguir es que en la mateixa partida quan entris a la mateixa categoria no es torni a repetir els números aleatoris que hagin surtit abans.

Quina seria la millor manera de fer-ho?

Algú té alguna idea?

Moltes gràcies!


loli
Avatar de l’usuari
Loli
mega pingu
mega pingu
 
Entrades: 67
Membre des de: dc. març 05, 2003 2:35 pm

EntradaAutor: karlos Data: dc. jul. 02, 2003 4:52 pm

Hola loli :)

Donç una manera es crear un array de 25 posicions, i posar en cadascuna un nº del 1 al 25. Llavors el que em de fer es escollir aleatoriament una d'aquestes 25 posicions, mirar el nº que conte, i eliminar aquest element del array. Ens quedaran 24 elements, i axí cada vegada que vulguis un nº, fins esgotar els 25 elements. Per exemple:

Codi: Selecciona’ls tots

maxnum = 25 // nº de elemens

//es crea un array de maxnum elements, sense res
nums = new Array(maxnum)


//informem cada element amb un nº del 1 al 25
for (i=0;i<maxnum;i++) nums[i] = i+1

//aqui es treuen els 25 nºs de forma aleatoria i sense repeticions

while(nums.length>0) {

  //escollim aleatoriament un element
  i = random(nums.length)    

  n = nums[i]  //agafem el nº que contè (serà el nº de pregunta)

  nums.splice(i,1) //eliminem l'element escollit

  trace(n)

}



Quan nums queda sense elements, cal tornar a omplirlo i ja està... :)

Si tens cap dubte amb l'exemple digue-ho, que sino es pot mirar de fer alguna funció com el random, utilitzant aquest mètode.

sort!! :D
Imatge
<rA<k th3 2y273m :?-:: fr33 y0ur m1nd
Avatar de l’usuari
karlos
pingu hacker
pingu hacker
 
Entrades: 290
Membre des de: dl. feb. 10, 2003 12:46 pm
Ubicació: otra dimension

EntradaAutor: Loli Data: dc. jul. 02, 2003 5:18 pm

Moltes gràcies Karlos!

Intentaré posar-ho a la pràctica a veure si tinc sort, q jo amb el tema de les Arrays no en tinc gaire idea.

loli
Avatar de l’usuari
Loli
mega pingu
mega pingu
 
Entrades: 67
Membre des de: dc. març 05, 2003 2:35 pm

EntradaAutor: Loli Data: dc. jul. 02, 2003 6:05 pm

L'acabo de provar i em funciona l'únic que he tingut que treure el while, pq no volia q fes el bucle, però va perfecte.

Menys mal que esteu aquí pq em sembla q amb això del trivial m'he ficat amb un embolic que no sé si me'n sortiré, sobre tot sense la vostra ajuda!

Amenazo con volver a molestar!!! :-oXX

loli
Avatar de l’usuari
Loli
mega pingu
mega pingu
 
Entrades: 67
Membre des de: dc. març 05, 2003 2:35 pm

EntradaAutor: karlos Data: dc. jul. 02, 2003 11:34 pm

Donç perfecte, el while i el trace ho he possat per mostrar la llista de nºs aleatoris sense repetició, i efectivament no et cal posar-los, l'únic que has de mirar es que el array de nºs no es quedi sense elements, en tal cas el tornes a omplir com al principi i continues. :)

I aqui estem per ajudar en lo possible, i quan el Trivial estigui acabat ens ho fas saber i em passes totes les respostes perque em pugui fer el "xulu" davant del Toni :-oXX jurllll
Imatge
<rA<k th3 2y273m :?-:: fr33 y0ur m1nd
Avatar de l’usuari
karlos
pingu hacker
pingu hacker
 
Entrades: 290
Membre des de: dl. feb. 10, 2003 12:46 pm
Ubicació: otra dimension


Torna a: Actionscript

Qui està connectat

Usuaris navegant en aquest fòrum: No hi ha cap usuari registrat i 1 visitant