AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi mehrere Zufallszahlen, dürfen aber nicht gleich sein
Thema durchsuchen
Ansicht
Themen-Optionen

mehrere Zufallszahlen, dürfen aber nicht gleich sein

Ein Thema von XXcD · begonnen am 21. Aug 2008 · letzter Beitrag vom 21. Aug 2008
Antwort Antwort
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#1

mehrere Zufallszahlen, dürfen aber nicht gleich sein

  Alt 21. Aug 2008, 13:55
Hallo,
ich müsste für ein Spiel 4 verschiedene Zufallszahlen erzeugen.
Diese Zahlen dürfen auf keinen Fall gleich sein.
Wie kann ich das verwirklichen?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: mehrere Zufallszahlen, dürfen aber nicht gleich sein

  Alt 21. Aug 2008, 14:05
Mit Hilfe der Forums-Suche.

Nur zwei Ideen auf die Schnelle:
1. Merk dir die gezogenen Zahlen und zieh noch mal, wenn du eine ziehst, die schon mal gezogen wurde.
2. Füll eine List mit den Zahlen, die gezogen werden dürfen und wähle davon zufällig vier Stück aus.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#3

Re: mehrere Zufallszahlen, dürfen aber nicht gleich sein

  Alt 21. Aug 2008, 14:10
joar mit den Zahlen merken.
Kann ich das mit einer while Schleife machen? wen ja dann wie?
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: mehrere Zufallszahlen, dürfen aber nicht gleich sein

  Alt 21. Aug 2008, 14:17
Dies und das. Die Suchfunktion ist - insbesondere nach einem Hinweis darauf - dazu da benutzt zu werden. Und es ist nichtmal schwer!
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#5

Re: mehrere Zufallszahlen, dürfen aber nicht gleich sein

  Alt 21. Aug 2008, 14:22
Ok danke, ich wußte einfach nicht wonach ich suchen sollte.
Aber mit den Lottozahlen hätte ich auch selbst drauf kommen können.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: mehrere Zufallszahlen, dürfen aber nicht gleich sein

  Alt 21. Aug 2008, 14:46
Auf die Schnelle:
Delphi-Quellcode:
type
  TIntArray = array of Integer;


procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
end;

procedure TForm1.Button1Click(Sender: TObject);

  function IsInIntArray(AIntArray: TIntArray; z: Integer): Boolean;
  var
    i: Integer;
  begin
    result := False;
    for i := 0 to length(AIntarray) - 1 do
    begin
      if z = AIntArray[i] then
      begin
        result := True;
        break;
      end;
    end;
  end;

var
  IntArray: TIntArray;
  cnt: Integer;
  i: Integer;
  z: Integer;
  s: string;
begin
  SetLength(IntArray, 4);
  cnt := 0;

  while cnt < 4 do
  begin
    z := Random(99);
    if not IsInIntArray(IntArray, z) then
    begin
      IntArray[cnt] := z;
      Inc(cnt);
    end;
  end;

  for i := 0 to length(IntArray) - 1 do
    s := s + IntToStr(IntArray[i]) + ' ';
  ShowMessage(s);
end;
Da müsste man natürlich noch eine Funktion rausmachen oder so.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 17:48 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