Avatar billede flodhesten Nybegynder
10. august 2008 - 19:28 Der er 5 kommentarer og
1 løsning

Tal uden gentagelser - kortspil, 1 kort ad gangen

Hej.

Jeg tænkte på om det var muligt at lave en kode/funktion der ser således ud

1. Find et random tal mellem 1-52
2. Kontroller om tallet er gemt i en bestemt sessen array (som laves i punkt 3)
3. Hvis ikke tallet findes, så gem tallet i en session array og skriv det , hvis det findes i sessionen, start striptet forfra og kør indtil den finder et tal der ikke findes.

Jeg ved ikke om det er sådan man laver det bedst, men jeg vil nemlig gerne have, at jeg kan kalde et tilfældigt tal når som helst, men nummeret skal ikke eksistere i forvejen.

Det er tilegnet et kortspil, hvor tallene 1-52 repræsenterer et kort, og derfor må et tal ikke gentages. Jeg skal så kunne bede om et nyt nummer 52 gange i alt.

Håber det er forståeligt.
Avatar billede hmortensen Nybegynder
10. august 2008 - 20:04 #1
Kan du ikke blot lave et array med alle kortene og så blande det, og tage det sidste index ud og slette det fra arrayet.
Avatar billede flodhesten Nybegynder
10. august 2008 - 20:08 #2
Hmm, jo. Hvis det giver samme effekt. Kan du eventuelt hjælpe lidt mere?

Altså finde en tilfædig værdi fra arrayet og derefter slette den?
Avatar billede __ak Nybegynder
10. august 2008 - 20:52 #3
Prøv at tage et kig her
http://www.eksperten.dk/spm/840719
Avatar billede coderdk Praktikant
11. august 2008 - 00:07 #4
$cards = range(1,52);
shuffle( $cards );

så skal du bare gemme $cards i din session og unset'e dem du bruger f.eks. eller vedligeholde to arrays ;P
Avatar billede flodhesten Nybegynder
22. maj 2009 - 00:42 #5
Beklager at jeg ikke har været aktiv herinde, så jeg har aldrig fået sagt tak.

Jeg gjorde brug af coderdk's løsning, så du må gerne skrive hvis du vil have point.
Avatar billede coderdk Praktikant
25. maj 2009 - 09:50 #6
:)
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