Entwickler-Ecke

Sonstiges (Delphi) - zufälliges setzen von Zahlen???


Teddy - So 01.07.07 20:37
Titel: zufälliges setzen von Zahlen???
Ich brauch für ein Spiel 16 Zufallszahlen von 1-8 und jede Zahl soll genau zweimal vorkommen. Das soll dann am Ende ungefähr so aussehen:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
zufallszahl[1]:=1;
zufallszahl[2]:=1;
zufallszahl[3]:=2;
zufallszahl[4]:=2;
zufallszahl[5]:=3;
zufallszahl[6]:=3;
zufallszahl[7]:=4;
zufallszahl[8]:=4;
zufallszahl[9]:=5;
zufallszahl[10]:=5;
zufallszahl[11]:=6;
zufallszahl[12]:=6;
zufallszahl[13]:=7;
zufallszahl[14]:=7;
zufallszahl[15]:=8;
zufallszahl[16]:=8;

Nur sollen diese Zahlen jetzt zufällig gesetzt werden! Wie kann ich das machen und gleichzeitig verhindern, dass eine zahl weniger oder öfter als 2 mal autaucht? (random?)
Vielen Dank schonmal im Voraus!

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt


Kroko - So 01.07.07 20:46

so setzen wie Du es beschrieben hast und dann zufällige Male zufällige Felder tauschen!


Teddy - So 01.07.07 20:56

ähm und wie genau soll das aussehen? kannst du das mal ungefähr als quelltext aufschreiben?


Kroko - So 01.07.07 21:01

(a) ich empfehle mal dringend Grundlagen [http://www.dsdt.info/grundlagen/]
(b)

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
for I := 0 to 50+Random(50do //50 - 100 x tauschen
begin
  A := 
  B := 
  Tausche A mit B
end;

den Rest selber programmieren :lol:


Narses - So 01.07.07 23:08

Moin und :welcome: im Forum!

Vielleich suchst du das hier [http://www.delphi-library.de/topic_perfektes+Mischen+nach+FisherYates+perfect+shuffle_71713.html]. ;)

cu
Narses


Dunkel - So 01.07.07 23:16

Déjà-vu? [http://www.delphi-forum.de/viewtopic.php?t=74187]


Christian S. - Mo 02.07.07 12:18

Dann mach ich hier mal zu.

@Teddy: Es ist unerwüschnt (a) einen Thread zweimal zu erstellen und (b) mehr als einen Account zu besitzen. Bitte kontaktiere uns, welchen Account Du behalten willst.

@Dunkel: Anstatt in beiden Threads einen Link zu posten, ist es sinnvoller, einen der Threads an uns zu melden!