AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi ARRAY mit einmalig verwendeten Zufallszahlen
Thema durchsuchen
Ansicht
Themen-Optionen

ARRAY mit einmalig verwendeten Zufallszahlen

Ein Thema von Kopfjaeger · begonnen am 18. Dez 2003 · letzter Beitrag vom 18. Dez 2003
Antwort Antwort
Kopfjaeger

Registriert seit: 18. Dez 2003
2 Beiträge
 
#1

ARRAY mit einmalig verwendeten Zufallszahlen

  Alt 18. Dez 2003, 15:02
Hallo,
ich will einem Array Zufallszahlen im Intervall 1 bis 32 geben. Dabei darf aber jede Zahl in diesem Intervall nur einem Index zugeordnet werden (soll ein Kartenspiel werden, jede Karte hat dann eine ID, die in dem Feld festgelegt wird). Ich könnte das z.Z. nur mit einer nahezu endlos erscheinenten Anzahl an Verkettungen von Schleifen realisieren. Ich denke/hoffe, dass das auch anders geht.

mfg
/Kopf
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: ARRAY mit einmalig verwendeten Zufallszahlen

  Alt 18. Dez 2003, 15:05
Hai Kopfjaeger,

Herzlich Willkommen in der Delphi-PRAXIS.

Schaue dir mal diesen Thread zum Thema Lottozahlen an.

Dort hatten wir eine tolle Diskussion zum Thema.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Kopfjaeger

Registriert seit: 18. Dez 2003
2 Beiträge
 
#3

Re: ARRAY mit einmalig verwendeten Zufallszahlen

  Alt 18. Dez 2003, 15:35
Ich danke für deine schnelle Antwort.
Ebenso bei Christian Seehase für seinen Quellcode in den genannten Thread. Läuft wunderbar und stabil.

mfg
/Kopf
  Mit Zitat antworten Zitat
Benutzerbild von Thunderchild
Thunderchild

Registriert seit: 12. Nov 2003
Ort: Nohra
139 Beiträge
 
Delphi 7 Personal
 
#4

Re: ARRAY mit einmalig verwendeten Zufallszahlen

  Alt 18. Dez 2003, 16:03
Also eine einfache Lösung, die mir als erstes eingefallen wäre, ist Folgendes:

Geh in einer Schleife Deine Karten von 1 bis 32 durch und weise ihnen einen zufälligen Index für das Array zu.

Delphi-Quellcode:
var KartenStapel:array[1..32] of byte;
    index,karte:byte;
begin
  randomize;
  for index:=1 to 32 do KartenStapel[index]:=0; // sicherheitshalber initialisieren
  for karte:=1 to 32 do begin
    repeat
      index:=random(32);
    until KartenStapel[index]=0; // per Zufall leeren Platz finden
    KartenStapel[index]:=karte // und da eine Karte ablegen
  end
end;
Das letzte Schöne, das in C geschrieben wurde, war Schuberts 9. Sinfonie.
Meine Softwareseite (Link aktualisiert am 13.12.2006).
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz