ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
2309
2309
EMPFEHLEN
-
Hi! Gibt es irgendeine fertige Funktion oder einen Alogarythmus um Arrays durcheinander zu bringen? Und zwar mächte ich ein Kartenspiel mischen, d.h. der Array hat 32 Elemente...
Gruß und schönes neues Jahr
-
01.01.07 22:38 #2
Hi da ich ein ähnliches Projekt vorhabe, habe ich mal gegoogelt und es sieht nicht so aus, als wenn es eine fertige Funktion gibt. Das ist aber eine interessante Alternative Mischen
mfgVisit shadowmasta
-
OK, hab's jetzt geschafft.
Meine Lösung:
Gibt halt zwei Stapel, immer eine Karte wird zufällig vom ersten genommen und auf den zweiten gelegt und dann im ersten als "weggelegt" gekennzeichnet.
geht so nur für ein skatspiel; ne herz-zehn ist z.B:Code :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
TYPE Karte = RECORD Farbe : STRING [10]; Bild : STRING [10]; END; PROCEDURE shuffle_kartenspiel ; { Mischt das Kartenspiel, das im Array 'kartenspiel' steht } VAR karten_in_vorher, karten_in_nachher,rand,counter : INTEGER; VAR cur_karte : Karte; BEGIN karten_in_nachher := 0; counter := 0; REPEAT { Solange bis Stapel 2 voll ist } { Eine Karte nehmen } rand := random(33); IF rand > 0 THEN BEGIN cur_karte := stapel[rand]; IF cur_karte.Bild <> "WEG" THEN { Wenn sie noch nicht in Stapel 2 vorhandne ist } BEGIN counter := counter + 1; { Sie auf neuen Stapel packen } stapel_nachher[counter] := cur_karte; { Karte aus Vorher-Stapel entfernen } stapel[rand].Bild := "WEG"; END; END; { Usw. } UNTIL counter = 32; END;
kartenspiel[1].Farbe := "Herz";
kartenspiel[1].Bild := "10";
gruß
Ähnliche Themen
-
array. wie werden arrays zugeweisen einer kopie des arrays oder mit einem pointer?
Von projumper im Forum PHPAntworten: 4Letzter Beitrag: 26.11.10, 11:08 -
Tabelle/Arrays und Arrays ausgeben
Von Meitli im Forum ASPAntworten: 1Letzter Beitrag: 09.02.06, 13:01 -
verzweifle an Arrays: Arrays veraendern
Von supersalzi im Forum PHPAntworten: 6Letzter Beitrag: 01.06.05, 16:00 -
Turbo Pascal: Arrays
Von mmdj im Forum Delphi, Kylix, PascalAntworten: 1Letzter Beitrag: 07.01.05, 20:10 -
Pascal in XP?
Von henningd im Forum Delphi, Kylix, PascalAntworten: 2Letzter Beitrag: 17.02.04, 22:59





Zitieren
Login





