Random number picker

Pagina: 1
Acties:
  • 51 views sinds 30-01-2008

  • DeZwarteKip
  • Registratie: Februari 2002
  • Niet online
Aanstaande zaterdag heb ik een darttoernooitje, en nou zou ik graag een scriptje maken (lees: kopieeren) dat willekeurig nummers tussen de 1 en 48 kiest.

Opzich is dat niet moeilijk maar hij moet ook nog 1 extra ding doen, namelijk: Hij moet de nummers die hij al heeft gehad niet nog een keer doen.

Dit is om een eerlijke loting te maken wie tegen wie speelt. Zelf ben ik beetje thuis in java, maar weet nie zeker of dit hierin mogelijk is?!

Iemand die me kan helpen hierbij?

  • LinuX-TUX
  • Registratie: December 2003
  • Laatst online: 27-05 09:48
Thuis in Java, ok

Math.random voor de randomizer
array
array copy om vervolgens over te gooien naar zichzelf met de nog overgebleven opties.

Moet zelf zo naar school, daar heb ik geloof ik nog zoiets staan met een kaartspel (21'en) kan een kaart maar 1 keer pakken ;)
Zal hem wel posten zodra ik hem te pakken heb.

  • koli-man
  • Registratie: Januari 2003
  • Laatst online: 13-05 14:28

koli-man

Bartender!!!!

Tja... je kunt de nummers die al geweest zijn bijhouden en dan weer gaan randomen, controleren en dan kijken of je nog door moet of dat je al een nieuwe waarde hebt

Hey Isaac...let's go shuffleboard on the Lido - deck...my site koli-man => MOEHA on X-Box laaaiiiff


  • DeZwarteKip
  • Registratie: Februari 2002
  • Niet online
LinuX-TUX schreef op 20 februari 2004 @ 10:21:
Thuis in Java, ok

Math.random voor de randomizer
array
array copy om vervolgens over te gooien naar zichzelf met de nog overgebleven opties.

Moet zelf zo naar school, daar heb ik geloof ik nog zoiets staan met een kaartspel (21'en) kan een kaart maar 1 keer pakken ;)
Zal hem wel posten zodra ik hem te pakken heb.
Dat zou mooi zijn als je nog wat hebt. Thanks alvast!
koli-man schreef op 20 februari 2004 @ 10:21:
Tja... je kunt de nummers die al geweest zijn bijhouden en dan weer gaan randomen, controleren en dan kijken of je nog door moet of dat je al een nieuwe waarde hebt
that's the easy way... Als niks lukt is dat een oplossing, had dat zelf ook al bedacht.

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
Ik hoop dat ik me dit goed herinner:
code:
1
2
3
4
5
vul array met nummers 1 tot 48
for( int i = array.length; i > 0; i-- )
{
     swap array[i] en array[randomgetal tussen 0 en i]
}

Edit: Mijn geheugen is al wakker. Dit klopt, <useless>en is in 1964 al bedacht door een meneer Durstenfeld</useless>.

[ Voor 25% gewijzigd door SWfreak op 20-02-2004 10:43 ]


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
hangt denk ik een beetje af van de structuur van je app, als je alles wat er gebeurt in een db logt dan kun je net zo goed een tabel aanmaken met daarin de random nummers, vervolgens doe je op die tabel een

ASP:
1
2
3
4
SELECT TOP 1 randomID FROM tbl_randomID 
  WHERE randomID NOT IN 
  (SELECT randomID FROM tbl_log_randomID WHERE sessieID=sessieID;) 
  ORDER BY newID();


oww, en ik kan me overigens indenken dat hetgeen ik hier post een "beetje" overkill is voor het appje wat jij maakt ;)

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • Billie
  • Registratie: Januari 2003
  • Laatst online: 23-05 07:55
Op php.net/rand vond ik dit.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?
// set some globals
$s = array();
$n = 12; // the range you require (this will give 1-12)

function set_num() {
  global $s, $n;
  $add = "yes";
  $ran = rand(1, $n);
  if(count($s) > 0) {
   foreach($s as $sh) {
     if($ran == $sh) {
       $add = "no";
     }
   }
  }
  if($add == "yes") {
   $s[] = $ran;
  } else {
   set_num();
  }
}

// call the function as needed
while(count($s) < $n) {
  set_num();
}
// just output a list seperated by whitespace
foreach($s as $sh) {
  echo $sh."&nbsp;";
}
?>


Weet alleen niet of je PHP tot je beschikking hebt, maar dit lijkt me ook wel handig. :)

  • DeZwarteKip
  • Registratie: Februari 2002
  • Niet online
Bedankt voor de reacties, aangezien ik EasyPhp op mijn laptoppie heb staan moet dat php script wel werken. Heb hem net ff getest en ik denk dat ik daar wel mee uit de voeten kom.
Dit is hoe ik het ga doen:
Afbeeldingslocatie: http://www.trapna.nl/users/maikel/dartcomp.gif
De 2 getallen naast elkaar spelen tegen elkaar.

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Mjah, dit is hier gewoon een scriptrequest.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.