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