AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Random ohne doppelte Zahlen

Ein Thema von D0N · begonnen am 2. Okt 2008 · letzter Beitrag vom 4. Okt 2008
 
D0N

Registriert seit: 28. Jan 2008
Ort: Fischbach
35 Beiträge
 
RAD-Studio 2010 Arc
 
#1

Random ohne doppelte Zahlen

  Alt 2. Okt 2008, 21:22
Hallo

ich habe vor für meinen Clan n Programm zu schreiben welches durch das benutzen von random eine Zufällige map auswählt oder eine Zufällige aufstellung (TF2) nun habe ich Das problem das es ja sehr schlecht ist wenn in einer Aufstellung jemand doppelt vorkommt.

Da dachte ich mir hmm keine zahl doppelt dürfte ja kein Problem sein.

Mit Array kenne ich mich nicht aus.

Ich wollte nach jedem durchlauf der Schleife das ergebnis in eine Listbox schreiben lassen um das nächste ergebnis damit abzugleichen.

Nur weiß ich nicht wie und vorallem ob man überhaupt mit der Listbox abgleichen kann.

Vielleicht habt ihr ja bessere Vorschläge dafür.

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var zufall, anzahl, ergebniss, i, zaehler, cnt:integer;
    found: boolean;
    a: string;
begin
  button2.Visible:= False;
  panel1.Visible:= false;
  panel2.Visible:= True;
  a:= labelededit1.Text;
  zaehler:= 0;
  zufall:= 0;
  anzahl:= strtoint(labelededit13.Text);
  if radiobutton2.Checked = (true) then
    for i := 1 to anzahl do
    begin
{      repeat
        begin
           randomize;}

           zufall:= random(anzahl)+1;
        {end
      until zufall <> ergebniss;
        begin
          ergebniss:= zufall;}

          inc(zaehler);
          if zufall = listbox1.Items[listbox1.ItemIndex] then
            zufall:= random(anzahl)+1
          else
          begin
          case zufall of
            1: memo1.Lines.Add(inttostr(zaehler) + '. Slot: ' + labelededit1.Text);
            2: memo1.Lines.Add(inttostr(zaehler) + '. Slot: ' + labelededit1.Text);
            3: memo1.Lines.Add(inttostr(zaehler) + '. Slot: ' + labelededit1.Text);
            4: memo1.Lines.Add(inttostr(zaehler) + '. Slot: ' + labelededit1.Text);
            5: memo1.Lines.Add(inttostr(zaehler) + '. Slot: ' + labelededit1.Text);
            6: memo1.Lines.Add(inttostr(zaehler) + '. Slot: ' + labelededit1.Text);
            7: memo1.Lines.Add(inttostr(zaehler) + '. Slot: ' + labelededit1.Text);
            8: memo1.Lines.Add(inttostr(zaehler) + '. Slot: ' + labelededit1.Text);
            9: memo1.Lines.Add(inttostr(zaehler) + '. Slot: ' + labelededit1.Text);
            10: memo1.Lines.Add(inttostr(zaehler) + '. Slot: ' + labelededit1.Text);
            11: memo1.Lines.Add(inttostr(zaehler) + '. Slot: ' + labelededit1.Text);
            12: memo1.Lines.Add(inttostr(zaehler) + '. Slot: ' + labelededit1.Text);
          end;
        end;
        listbox1.Items.Add(inttostr(zufall));
      end;
  if radiobutton1.Checked = (true) then
    begin
    zufall:= random(anzahl) + 1;
      case zufall of
        1 : memo1.lines.add('Slot: ' + labelededit1.Text);
        2: memo1.lines.add('Slot: ' + labelededit2.Text);
        3: memo1.lines.add('Slot: ' + labelededit3.Text);
        4: memo1.lines.add('Slot: ' + labelededit4.Text);
        5: memo1.lines.add('Slot: ' + labelededit5.Text);
        6: memo1.lines.add('Slot: ' + labelededit6.Text);
        7: memo1.lines.add('Slot: ' + labelededit7.Text);
        8: memo1.lines.add('Slot: ' + labelededit8.Text);
        9: memo1.lines.add('Slot: ' + labelededit9.Text);
        10: memo1.lines.add('Slot: ' + labelededit10.Text);
        11: memo1.lines.add('Slot: ' + labelededit11.Text);
        12: memo1.lines.add('Slot: ' + labelededit12.Text);
      end;
    end;
end;
Weiß nicht ob ich irgendwas Falsch gemacht habe denn ich kenne mich noch nicht so gut mit Delphi aus hatte es erst 1/2 jahr in der Schule.

mfg
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:20 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