[js]hoe willekeurig getal tussen x en y

Pagina: 1
Acties:
  • 109 views sinds 30-01-2008
  • Reageer

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24
lui,

het genereren van een willekeurig getal is niet echt een probleem, maar ik krijg het ff niet voor elkaar om dit binnen een bereik te laten gebeuren.
Het is de bedoeling dat uit een hele map afbeeldingen die als volgt genoemd zijn:
code:
1
2
3
medewerker1.jpg
medewerker2.jpg
enz.

er per pagina random een aantal te zien zijn.
Alleen mag er op de pagina directeuren niet een schoonmaker tussendoor schieten.

Ik weet bijvoorbeeld wel dat de directeuren lopen van medewerker4 t/m medewewerker7; 4 stuks dus.

De vraag luidt nu: hoe kan ik onderstaand scriptje zo aanpassen dat het getal tussen x en y valt:
code:
1
2
lRandom = Math.round(Math.random()*1+1);
  lRandomImg = 'medewerker" + lRandom + '.jpg';

www.jurgroessen.nl


  • Mart!
  • Registratie: Februari 2000
  • Laatst online: 17-09 14:40
code:
1
2
lRandom = Math.round(Math.random()*4 + 4);
lRandomImg = 'medewerker" + lRandom + '.jpg';

Math.random() genereert een getal tussen 0 en 1, bv. 0.3456, dit doe je maal 4 + 4 = 5.3824
Math.round(5.38524) = 5 -> plaatje 5

Stel: rnd getal = 0 -> plaatje = 4
Stel: rnd getal = 0.99 -> plaatje = 8 (oeps)

je moet dus niet rounden, maar afbreken (ben niet zo'n js-goeroe).

[edit]
ff opgezocht, wou het zelf ook wel weten. Waarschijnlijk Math.floor(getal)

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Op dinsdag 16 oktober 2001 17:18 schreef Mart! het volgende:
code:
1
2
lRandom = Math.round(Math.random()*4 + 4);
lRandomImg = 'medewerker" + lRandom + '.jpg';

MathRandom() genereert een getal tussen 0 en 1, bv. 0.3456, dit doe je maal 4 + 4 = 5.3824
Math.round(5.38524) = 5 -> plaatje 5

Stel: rnd getal = 0 -> plaatje = 4
Stel: rnd getal = 0.99 -> plaatje = 9 (oeps)

je moet dus niet rounden, maar afbreken (ben niet zo'n js-goeroe)
waarom maal 4?

Als MathRandom() een waarde returned tussen de 0 en de 1 kun je deze toch maal 10 doen en dan afronden?

maar goed..ik vond ook dit en dan ben je gelijk klaar :)

"You're only as good, as what you did last week."


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24
Mart: thnx man, maar zoals je al aangaf kwam het getal ook weleens buiten het bereik... ;(

oh,when?: nice scrippie, zal ik es ff implementeleren..

www.jurgroessen.nl


Verwijderd

Mart, leuke naam :)

  • Tim
  • Registratie: Mei 2000
  • Laatst online: 23-07 15:18

Tim

Random met domein 4 t/m 7:

Math.round(Math.Random()*3+4)

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

Op dinsdag 16 oktober 2001 20:23 schreef Timpie2000 het volgende:
Random met domein 4 t/m 7:

Math.round(Math.Random()*3+4)
Jah, maar aangezien round vanaf .5 naar boven, en onder .5 naar beneden afrondt gaan met random * 3 de getallen 0 en 3 minder vaak voorkomen, omdat er maar van 0 tot een half en boven 2.5 tot 3 naar die getallen afgerond wordt, en 1 en 2 hebben een heel getal wat tot hun waarde afrondt, kan je beter Math.floor( .. ) doen.

random van 4 tot 7:
Math.floor(Math.random() * 4) + 4

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


  • Tim
  • Registratie: Mei 2000
  • Laatst online: 23-07 15:18

Tim

bah, ik ga het denkne maar aan iemand anders overlaten >:)
Zo had ik er nog nooit tegen aan gekeken :)

  • Mart!
  • Registratie: Februari 2000
  • Laatst online: 17-09 14:40
Clay: Als je mijn edit had gelezen, was je daar zo'n half uur geleden achtergekomen ;)

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24
de tentoon gespreidde ideeen verhandelen over een toepassing om een bereik van 4 t/m 7 te overspannen.
Op zich leuk en ook wat ik gaf als voorbeeld, maar ik dacht meer aan een optie waarbij je twee integers ingeeft: de onderzijde en de top van het bereik.

iemand daar over gedacht :)

[Baai dze weej]
ik heb het voor the time being even anders opgelost...
maar blijf geinteresseerd in een workaround.

www.jurgroessen.nl


  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

Da's een kleine stap van wat er tot nu toe allemaal gepost is;
PHP:
1
2
3
4
5
6
<?
// niet php, maar kleurtjes roelen
function getRandom(from, to) {
   return Math.floor(Math.random()*(to - from + 1) + from);
}
?>

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24
Op woensdag 17 oktober 2001 09:18 schreef Clay het volgende:
Da's een kleine stap van wat er tot nu toe allemaal gepost is;
ok, maar mijn JS kennis is daar nog te beperkt voor...helaas ;(

www.jurgroessen.nl


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 22:33

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Op woensdag 17 oktober 2001 10:09 schreef Hangloozz het volgende:

[..]

ok, maar mijn JS kennis is daar nog te beperkt voor...helaas ;(
dat was php, geen js
:7

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24
Prammenhanger;
- scroll nog eens 3 berichtjes terug
- zoek de php-code van Clay
- lees wat er bij de comment-container staat
- kom hier terug en biedt je excuses aan en beloof ten overstaan van heel GoT dat je voortaan beter de topics zult lezen ;)

www.jurgroessen.nl

Pagina: 1