{EIGENTLICH SOLLTE DIE GANZE ÜBUNG MIT PLUGINS FUNKTIONIEREN}
{DANN KÖNNTE MAN DIE WERTE FÜR HÖHE ETC. DIREKT EINGEBEN}

{Höhe des Geschosses = h}
{Breite des Gebäudes = b}
{Länge des Gebäudes = l}
{Anzahl Geschosse = g}
{Anzahl Fenster pro Geschoss = f}
{Fenster Unterkante = u}
{Fenster Oberkante = o}
{Abstand zwischen den Fenstern = a}

PROCEDURE haus1;

VAR

	h,b,l,o,u:REAL;
	g,i,x,y,f,a:INTEGER;

BEGIN

		FillBack(64425,60000,55000);		

		h:=2.5;
		b:=20;
		l:=10;
		g:=2;
		f:=6;				
		u:=1.2;
		o:=1.3;		
		a:=1.01;		

		FOR i:=0 TO (g-1) DO BEGIN
		Rect(0,i*(h),(l+a),(i+1)*(h));

		END;

			FOR i:=0 TO (g-1) DO BEGIN
			Rect(b+l+a,i*(h),(l+a)+b+(l+a),(i+1)*(h));
			
			END;

	Rect(-b,0,0,(g)*h);
	Rect((l+a),0,(l+a)+b,(g)*h);
	Rect(0,-b,(l+a),0);
	Rect(0,(g*h),(l+a),(g*h)+b);

{LASCHEN}

		MoveTo(0,-b);
		Line(((l+a)/7),-((l+a)/5));
		Line((5*(l+a)/7),0);
		Line(((l+a)/7),((l+a)/5));

		Line((b/5),(b/7));
		Line((0),(5*b/7));
		Line((-(b/5)),(b/7));								
									
		MoveTo(0,-b);
		Line((-(b/5)),(b/7));
		Line((0),(5*b/7));
		Line((b/5),(b/7));	

		MoveTo(0,g*h);		
		Line((-(b/5)),(b/7));
		Line((0),(5*b/7));
		Line((b/5),(b/7));	

		MoveTo((l+a),(g*h));
		Line((b/5),(b/7));
		Line((0),(5*b/7));
		Line((-(b/5)),(b/7));								

		MoveTo((0),((g*h)+b));
		Line(((l+a)/7),((l+a)/5));
		Line(((5*(l+a))/7),(0));
		Line(((l+a)/7),(-((l+a)/5)));

{FENSTER}
		FillBack(6498,1245,45818);

		FOR x:=1 TO f DO BEGIN
			FOR y:=0 TO (g-1) DO BEGIN														

				
				Rect((((x*(l/f))-(l/f)+a)),((y*h)+(h/u)),(x*(l/f)),((y*h)+(((o-1)*h)/o)));

			END;
		END;	

		
		FOR x:=1 TO f DO BEGIN
			FOR y:=0 TO (g-1) DO BEGIN														

				
				Rect((((x*(l/f))-(l/f)+a))+(l+b+a),((y*h)+(h/u)),((x*(l/f)+(l+b+a))),((y*h)+(((o-1)*h)/o)));

			END;
		END;	

		
END;

RUN (haus1);