Avatar billede bombur Nybegynder
26. oktober 2002 - 12:59 Der er 14 kommentarer og
1 løsning

Random udvælgelse!

Hvordan kan jeg random vælge mellem fx 4 ord hvor det udvalgte så gemmes i en variabel jeg kan bruge senere?

//Rune
Avatar billede bamzen Nybegynder
26. oktober 2002 - 13:12 #1
<HTML>
<HEAD>
<SCRIPT>
var MyRandoms = new Array("ord1","ord2","ord3","ord4")
var selWord = MyRandoms[Math.floor(Math.random()*MyRandoms.length)]
alert(selWord')
</SCRIPT>
</HEAD>

<BODY>
</BODY>
</HTML>
Avatar billede nikolajdu Nybegynder
26. oktober 2002 - 13:12 #2
<script>
t = new Array();
t[0] = "hej1";
t[1] = "hej2";
t[2] = "hej3";
t[3] = "hej4";

rnd.today=new Date();
rnd.seed=rnd.today.getTime();

function rnd() {
        rnd.seed = (rnd.seed*9301+49297) % 233280;
        return rnd.seed/(233280.0);
}

function rand(number) {
        return Math.ceil(rnd()*number);
}

tekst = t[rand(t.length-1)]

alert(tekst)

</script>
Avatar billede bamzen Nybegynder
26. oktober 2002 - 13:12 #3
den vil automatisk være random i forhold til hvor mange ord du har i dit array.... ;-)
Avatar billede bamzen Nybegynder
26. oktober 2002 - 13:14 #4
nikolajdu, hvorfor alt det kode????

med seed og alting.......
Avatar billede nikolajdu Nybegynder
26. oktober 2002 - 13:15 #5
Fordi random ikke helt er "ægte" random - Sådan har jeg ihvertilfald lært det :)
Avatar billede bamzen Nybegynder
26. oktober 2002 - 13:15 #6
der sneg sig forresten en ' ind i alert(selWord')

det skulle naturligvis være

alert(selWord)
Avatar billede bamzen Nybegynder
26. oktober 2002 - 13:17 #7
jeg synes nu ellers min lille kode fungerede fint........
Avatar billede nikolajdu Nybegynder
26. oktober 2002 - 13:20 #8
Jakoba kom engang med en rigtig lang udredning af hvor random fungerer - Der var lidt men ikke meget forskel på hvorvidt den vil vælge 1,2,3,4 :)
Avatar billede bamzen Nybegynder
26. oktober 2002 - 13:23 #9
Ok, hvis du siger det.......

prøvede lige at skrive sådan her i stedet for testens skyld

<HTML>
<HEAD>
<SCRIPT>
var MyRandoms = new Array("ord1","ord2","ord3","ord4")
function ranWord(){
selWord = MyRandoms[Math.floor(Math.random()*MyRandoms.length)]
return selWord
}
</SCRIPT>
</HEAD>

<BODY>
<SCRIPT>
for(i=0;i<100;i++){
document.write(ranWord()+'<BR>')
}
</SCRIPT>

</BODY>
</HTML>


og det virker tilsyneladende fint, men det betyder ikke at du har uret ;-), bare at det virker overbevisende random på mig.....
Avatar billede nikolajdu Nybegynder
26. oktober 2002 - 13:25 #10
Jeg giver bare Jakoba skylden - Det var ham der fik mig overbivst med en odentlig smøre som jeg ikke fattede halvdelen af *LOL*
Avatar billede bamzen Nybegynder
26. oktober 2002 - 13:28 #11
men synes du ikke også at resultatet af min kode ser rigeligt random ud???? bare med mindre kode end din...???????

Og ja, lad os bare give Jakoba skylden for de ordentlige smører ;-) *LOOOOOOOL*
Avatar billede nikolajdu Nybegynder
26. oktober 2002 - 13:41 #12
Tjaaa. Jeg kan ikke huske hvordan det var forklaringen lød og ikke lige finde linket. Anyway så er din god nok for de fleste.

<SCRIPT>
var MyRandoms = new Array("ord1","ord2","ord3","ord4")
function ranWord(){
selWord = MyRandoms[Math.floor(Math.random()*MyRandoms.length)]
return selWord
}
</SCRIPT>
</HEAD>

<BODY>
<SCRIPT>

t0 = 0;
t1 = 0;
t2 = 0;
t3 = 0;

for(i=0;i<10000;i++){

t = ranWord()
if(t=="ord1"){
t0++
}else if(t=="ord2"){
t1++
}else if(t=="ord3"){
t2++
}else if(t=="ord4"){
t3++
}
}

alert("0 :"+t0+"\n1t1 :"+t1+"\nt2 :"+t2+"\nt3 :"+t3)
</SCRIPT>
Avatar billede bombur Nybegynder
26. oktober 2002 - 16:00 #13
Jeg skal lige love for at i to har fået diskuteret noget her jeg prøver lige jeres koder!
Vil i dele pointsene selvom jeg måske vælger den ene af løsningerne, jeg har ikke skrevet her på eksperten så længe så jeg ved ikke hvad god kotume er på stedet! :-)

// Bombur
Avatar billede bamzen Nybegynder
26. oktober 2002 - 16:31 #14
Giv du bare den du vælger....... de fulde point...........
Avatar billede Slettet bruger
26. oktober 2002 - 19:07 #15
Math.random er en konstrueret tilfældighed (spørg mig ikke om, hvad det præcist er). Det er baseret på en slags kunstig udregning og vil derfor aldrig være helt ligesom fx at kaste med en terning i det virkelige liv.
Tiden vil dog teoretisk set være tilfældig, og resultatet vil afhænge af, hvornår en bruger besøger siden, hvilket jo kan være på et hvilket som helst tidspunkt fra klokken 00:00 til 23:59.
Derfor er tiden teoretisk set at foretrække, men praktisk talt er der næsten ingen forskel!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester