![]() |
Zufallswort erzeugen - verhindern dass Wort 2x hintereinande
Hi !
so erzeuge ich zufallswörter :
Delphi-Quellcode:
doch wie kann ich verhindern, dass ein Wort doppelt vorkommt ?
Var Namen : TStringList;
Zahl : integer; begin Randomize; Namen := TStringList.Create; Namen.Add('Eros'); Namen.Add('Herbert'); Namen.Add('Anton'); Namen.Add('Hugo'); Namen.Add('Fabian'); Namen.Add('Niemand'); ShowMessage(Namen.Strings[Random(Namen.count)]); end; Vielen Dank im Voraus ! Gruß Assun |
Re: Zufallswort erzeugen - verhindern dass Wort 2x hinterein
Die Worte, die du bereits benutzt hast, aus der Liste löschen ;)
|
Re: Zufallswort erzeugen - verhindern dass Wort 2x hinterein
Zitat:
![]() Mit ein/zwei änderungen können die genau das was Du möchtest. |
Re: Zufallswort erzeugen - verhindern dass Wort 2x hinterein
hmmm
Wenn man die Wörter aus der Liste löscht sind sie doch net mehr verfügbar oder ? kann mal jemand vllt n kleines beispiel machen ? Danke ! |
Re: Zufallswort erzeugen - verhindern dass Wort 2x hinterein
Hallo Sebastian,
was hältst du hiervon:
Delphi-Quellcode:
Grüße vom marabu
procedure RandomizeStrings(sl: TStrings);
var i: integer; begin for i := 1 to sl.Count - 1 do sl.Exchange(Pred(i), Pred(i + Random(sl.Count - i))); end; Obergrenze von i optimiert |
Re: Zufallswort erzeugen - verhindern dass Wort 2x hinterein
Hi,
manchmal fördert auch die Suche, erstaunliches [dp="doppelte einträge löschen"]zu Tage[/dp]. :roll: Chris |
Re: Zufallswort erzeugen - verhindern dass Wort 2x hinterein
Ganzt einfach indem Du Dir z.B. die letzte Zahl merkst und so lange eine neue generieren lässt bis Du eine andere hast:
Delphi-Quellcode:
function getName(lastone: integer) : integer;
var Namen : TStringList; Zahl : integer; begin Randomize; Namen := TStringList.Create; Namen.Add('Eros'); // weitere Namen zahl := lastone; while (zahl=lastone) do zahl := Random(Namen.count) ShowMessage(Namen.Strings[zahl]); result := zahl end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz