Liebe Gemeinde!
Für ein Spiel generiere ich Grundrisse von Wohnungen mit verschieden vielen Räumen, die im gewissen Rahmen zufällig angeordnet sind.
Nun möchte ich die einzelnen Räume mit Türen/Durchgängen verbinden (3 verschiedene Grundrisse Attachment 1). Fragt sich nur wie?
Ich habe nach der Wohnungs-Generierung folgendes Array zur Hand:
Delphi-Quellcode:
TRaum = RECORD
Flaeche : REAL;
Hoehe : REAL;
Breite : REAL;
XOrigin : INTEGER;
YOrigin : INTEGER;
END;
Wohnung: ARRAY OF TRaum;
D.h. im Array Wohnung finde ich zu jedem Raum seine Fläche, Höhe, Breite und die X- und Y-Koordinate für die obere linke Ecke des rechteckigen Raumes (brauchte ich ja auch für die Zeichnerei).
Nun konnte ich beim Zeichnen des Grundrisses aufgrund des Generierungs-Algorithums nicht einfach jede Wand z.B. in der Mitte mit eienem Durchgang versehen, da zu diesem Zeitpunkt nicht feststeht ob diese Wand nicht zufällig noch durch weitere Wände geteilt wird.
D.h. ich gehe jetzt erstmal davon aus, dass ich nur mit dem Array of TRaum arbeiten muß.
Hat irgendjemand eine Idee, wie man den Räumen mit diesen Angaben Durchgänge/Türen verpassen kann? Es ist nicht notwendig, dass die Tür in der Mitte der Wand ist -- hauptsache man kommt von
einem Raum in alle benachbarten Räume (So solls aussehen Attachment2).
Ist sicher nicht einfach -- aber wenn ihr eine Idee habt -- immer her damit!
Vielen Dank & Gruß
Jazzman