Hallo cook,
versuch mal folgendes:
Zuerst solltest du dir einen geeigneten Datentyp für die Maschinen definieren, z.B. TMaschine. Dieser Datentyp sollte die Informationen über die Position x,y und die Größe (Länge und Breite) der Maschine enthalten.
Dann würde ich dir vorschlagen, einen Array von diesen Maschinen zu erstellen.
Nun kannst du z.B. eine Funktion schreiben, die überprüft, ob zwei Kisten, den erforderlichen Abstand haben:
Delphi-Quellcode:
function GenugAbstand(Maschine1, Maschine2: TMaschine): Boolean;
begin
result:=false;
if ((Maschine1.x+Maschine1.Breite+Mindestabstand<Maschine2.x) or
(Maschine2.x+Maschine2.Breite+Mindestabstand<Maschine1.x)) and
((Maschine1.y+Maschine1.Laenge+Mindestabstand<Maschine1.y) or
(Maschine2.y+Mascine2.Laenge+Mindestabstand<Maschine2.Y)) then result:=true;
end;
Diese Funktion gibt, wenn du zwei Maschinen eingibt, in form eines Boolean zurück, ob diese Maschinen weit genug von einander weg stehen (true=ok, false=zu nach).
In Mindestabstand musst du dann den Mindestabstand zwischen den Maschinen speichern, in deinem Beispiel 2.
Eine ähnliche Funktion kannst du dann noch für den Abstand Wand-Maschine schreiben.
Ich hoffe du kannst mit diesem Ratschlag etwas anfangen.
Grüße
Seniman