Hallo, herzlich Willkommen!

Zitat von
Bausch:
1. Hier geht es um das "Runden-drehen". Ich habe 16 Felder momentan, starte beim 1. und springe vom 16. wieder auf das 1., klar wie Monopoly halt. Ich habe das ganze zunächst provisorisch gelöst, indem ich, sobald das aktuelle Feld des Spielers über 16 geht, das ganze minus 16 subtrahiert wird, und er sozusagen von 17-16=1 wieder startet.
[...]
Das dumme ist nur, dass, wenn es in die dritte Runde geht, das [aktFeld] praktisch über 32 geht, das Programm streikt. Ist ja auch klar, da dann das [aktFeld] 17 wär und es dieses nicht gibt. Wie löse ich dieses Problem?
Setze doch das Feld auf 1 anstelle 16 zu subtrahieren. Zum Zählen der Runden kannst du eine separate Variable nutzen.
(Edit: Das hier ist Murks, du musst schon subtrahieren)
Delphi-Quellcode:
if aktFeld > 16 then
begin
aktFeld := 1;
inc(RundenNum); // oder RundenNum := RundenNum + 1;
end;

Zitat von
Bausch:
Kein Boolean-Ausdruck gibt er mir hier aus. Wie könnte ich es nun schaffen, dass er mir irgendwie erkennt, dass des Feld bereits gekauft wurde? Gekauften Feldern eine eigene Variable zuweisen?
Du kannst dafür ein Record anlegen, das ist im Prinzip eine Zusammenfassung mehrerer Variablen.
Delphi-Quellcode:
type
TFeld: record
Img: TImage;
Gekauft: Boolean;
end;
var
Felder: array[1..16] of TFeld;
Dann kannst du so darauf zugreifen:
if Felder[aktFeld].Gekauft then
Und die Variablen natürlich beim Kaufen setzen etc.
Grüße, Matze
Edit: Das, was Medium geschrieben hat ist natürlich korrekt. So genau habe ich deinen Code nicht angesehen. Dann kommst du evtl. um das Record herum für den Anfang.
Edit 2: Ach jetzt verstehe ich, warum du 16 subtrahierst. Das musst du dann schon machen. ich bin grad bissl durcheinander.