PROCEDURE faltblatt; VAR BX:INTEGER; BY:INTEGER; BLX:INTEGER; BLY:INTEGER; B:INTEGER; H:INTEGER; Teiler:INTEGER; BLTeiler:INTEGER; index:INTEGER; nBlumen:INTEGER; nBlŸte:INTEGER; BB:INTEGER; BH:INTEGER; hšhe:INTEGER; BLhšhe:INTEGER; PROCEDURE blatt(B,H:INTEGER); BEGIN {*Stift einstellen*} penPat(2); penFore(0,0,65535); {*blatt zeichnen*} moveto(0,0); lineto(B,0); lineto(B,H); lineto(0,H); lineto(0,0); {*Stift einstellen*} penFore(65535,0,0); penPat(-2); {*blatt faltkanten zeichnen*} moveto(0,H/2); lineto(B,H/2); END; PROCEDURE blume(BX,BY,BB,BH,hšhe:INTEGER); BEGIN {*blau*} penPat(2); penFore(0,0,65535); BeginPoly; CurveTo(BX-BB/8,BY+BH/5); CurveTo(BX,BY+BH/2); CurveTo(BX+BB/8,BY+BH/5); EndPoly; BeginPoly; CurveTo(BX+(3/16)*BB,BY+BH/5); CurveTo(BX+BB/2,BY+BH/5); CurveTo(BX+BB/4,BY); EndPoly; BeginPoly; CurveTo(BX+BB/4,BY); CurveTo(BX+BB/2,BY-BH/5); CurveTo(BX+BB/8,BY-BH/5); EndPoly; LineTo(BX+BB/16,BY-BH/5); MoveTo(BX-BB/16,BY-BH/5); LineTo(BX-BB/8,BY-BH/5); BeginPoly; CurveTo(BX-BB/8,BY-BH/5); CurveTo(BX-BB/2,BY-BH/5); CurveTo(BX-BB/4,BY); EndPoly; BeginPoly; CurveTo(BX-BB/4,BY); CurveTo(BX-BB/2,BY+BH/5); CurveTo(BX-(3/16)*BB,BY+BH/5); EndPoly; (*Stiel unten*) {*rot*} penFore(65535,0,0); penPat(-2); MoveTo(BX-BB/16,H/4); LineTo(BX+BB/16,H/4); {*blau*} penPat(2); penFore(0,0,65535); LineTo(BX+BB/16,BY-BH/5); {*rot*} penFore(65535,0,0); penPat(-2); LineTo(BX-BB/16,BY-BH/5); {*blau*} penPat(2); penFore(0,0,65535); LineTo(BX-BB/16,H/4); (*Stiel oben*) {*rot*} penFore(65535,0,0); penPat(-2); MoveTo(BX-(3/16)*BB,BY+BH/5); LineTo(BX-BB/8,BY+BH/5); MoveTo(BX+BB/8,BY+BH/5); LineTo(BX+(3/16)*BB,BY+BH/5); {*blau*} penPat(2); penFore(0,0,65535); LineTo(BX+(3/16)*BB,(BY+BH/5)+H/4); {*rot*} penFore(65535,0,0); penPat(-2); LineTo(BX-(3/16)*BB,(BY+BH/5)+H/4); {*blau*} penPat(2); penFore(0,0,65535); LineTo(BX-(3/16)*BB,BY+BH/5); END; PROCEDURE blŸte(BLX,BLY,BB,BH,BLhšhe:INTEGER); BEGIN {*blau*} penPat(2); penFore(0,0,65535); BeginPoly; CurveTo(BLX-BB/8,BLY+BH/5); CurveTo(BLX,BLY+BH/2); CurveTo(BLX+BB/8,BLY+BH/5); EndPoly; BeginPoly; CurveTo(BLX+(3/16)*BB,BLY+BH/5); CurveTo(BLX+BB/2,BLY+BH/5); CurveTo(BLX+BB/4,BLY); EndPoly; BeginPoly; CurveTo(BLX+BB/4,BLY); CurveTo(BLX+BB/2,BLY-BH/5); CurveTo(BLX+BB/8,BLY-BH/5); EndPoly; LineTo(BLX+BB/16,BLY-BH/5); MoveTo(BLX-BB/16,BLY-BH/5); LineTo(BLX-BB/8,BLY-BH/5); BeginPoly; CurveTo(BLX-BB/8,BLY-BH/5); CurveTo(BLX-BB/2,BLY-BH/5); CurveTo(BLX-BB/4,BLY); EndPoly; BeginPoly; CurveTo(BLX-BB/4,BLY); CurveTo(BLX-BB/2,BLY+BH/5); CurveTo(BLX-(3/16)*BB,BLY+BH/5); EndPoly; (*Stiel unten*) {*rot*} penFore(65535,0,0); penPat(-2); MoveTo(BLX-BB/16,H/6); LineTo(BLX+BB/16,H/6); {*blau*} penPat(2); penFore(0,0,65535); LineTo(BLX+BB/16,BLY-BH/5); {*rot*} penFore(65535,0,0); penPat(-2); LineTo(BLX-BB/16,BLY-BH/5); {*blau*} penPat(2); penFore(0,0,65535); LineTo(BLX-BB/16,H/6); (*Stiel oben*) {*rot*} penFore(65535,0,0); penPat(-2); MoveTo(BLX-(3/16)*BB,BLY+BH/5); LineTo(BLX-BB/8,BLY+BH/5); MoveTo(BLX+BB/8,BLY+BH/5); LineTo(BLX+(3/16)*BB,BLY+BH/5); {*blau*} penPat(2); penFore(0,0,65535); LineTo(BLX+(3/16)*BB,(BLY+BH/5)+H/3); {*rot*} penFore(65535,0,0); penPat(-2); LineTo(BLX-(3/16)*BB,(BLY+BH/5)+H/3); {*blau*} penPat(2); penFore(0,0,65535); LineTo(BLX-(3/16)*BB,BLY+BH/5); END; BEGIN B:=210; H:=290; blatt(B,H); hšhe:=50; BB:=30; BH:=BB; nBlumen:=7; Teiler:=nBlumen+1; BY:=H/4+hšhe; BX:=B/Teiler; FOR index:=1 TO nBlumen DO BEGIN blume (index*BX,BY,BB,BH,hšhe); END; BLhšhe:=60; nBlŸte:=nBlumen-1; BLTeiler:=nBlŸte+1; BLY:=H/6+BLhšhe; BLX:=1.5*BX; FOR index:=1 TO nBlŸte DO BEGIN blŸte (BLX,BLY,BB,BH,BLhšhe); BLX:=BLX+BX; END; END; RUN (faltblatt);