Пример за къща в паскал - сайт "Всичко за паскал"

Var
Б-г. ГМ. Цяло число;

тип
XY = рекорд
X. цяло число;
Y. цяло число;
приключи;

процедура LineXY (A. B. XY);
започвам
Линия (A X. A. Y. B. X. Б. Y.);
приключи;

процедура AddXY (A. B. XY; Var Res XY.);
започвам
Res. X: = A. X + Б. X;
Res. Y: = А. Y + Б. Y;
приключи;

процедура SubXY (A. B. XY; Var Res XY.);
започвам
Res. X: = A. X - Б. X;
Res. Y: = А. Y - Б. Y;
приключи;

процедура MulXY (A. XY; L. цяло число ;. Var Res XY);
започвам
Res. X: = A. X * L;
Res. Y: = А. Y * L;
приключи;

процедура XY2XYC (A. XY; Var Res XYC.);
започвам
Res. X: = A. X;
Res. Y: = А. Y;
Res. C: = 1;
приключи;

процедура XYC2XY (A. XYC; Var Res XY.);
Var
ResX. ResY. LongInt;
започвам
ResX: = A. X DIV А. С;
ResY: = А. Y DIV А. С;
Res. X: = ResX;
Res. Y: = ResY;
приключи;

процедура IncidXYC (A. B. XYC ;. Var Res XYC);
започвам
Res. X: = А. Y * Б. С - А. С * Б. Y;
Res. Y: = - А. С * Б. X + A. X * Б. С;
Res. C: = A. X * Б. Y - А. Y * Б. X;
приключи;

процедура облак (X. Y. цяло число);
Конст CloudImage. масив [1. 7] на String =
( '.'.
". ".
". ".
". ".
". ".
". ".
');
Var
аз. к. Цяло число;
започвам
защото: = 1 до 7 направи
за к: = 1 до Дължина (CloudImage [1]) направи
ако CloudImage [Ь. J] = '. след това
PutPixel (X + J - 1. Y + и - 1. LightGray);
приключи;

Var
а. б. в. г. д. е. гр. ч. аз. к. к. л. м. п. о.
стр. р. R. с. т. ф. с. вата х. у. Z. A0. b0. c0. XY;
Покрив. масив [1. 5] на XY;
Roof2. масив [1. 4] на XY;
Сянка. масив [1. 9] на XY;
започвам
Gd: = VGA;
Gm: = VGAHi; <640x480>
InitGraph (GD Gm "X: \ BP" ..);

<Небо>
SetFillStyle (SolidFill LightCyan.);
Бар (0. 0. 639. 479);

<Облака>
Облак (89. 91); Облак (90. 82); Облак (11. 91); Облак (72. 98);
Облак (52. 27); Облак (42. 77); Облак (98. 58); Облак (48. 12);
Облак (67. 62); Облак (167. 34); Облак (62. 73); Облак (363. 54);
Облак (122. 46); Облак (40. 46); Cloud (27. 26); Cloud (49. 23);

<Трава>
SetFillStyle (SolidFill LightGreen.);
FillEllipse (320. 380. 500. 200);

<Кирпичные стены>
SetLineStyle (SolidLn 0. NormWidth.);
SetColor (черен);
SetFillStyle (SolidFill Браун.);


а. X: = 200;
а. Y: = 150;
б. X: = 10;
б. Y: = 0;
в. X: = 0;
в. Y: = 10;
DrawWall (.. А Б В 20. 20. False.);
MulXY (б 20. г.);
AddXY (а г д ..);
е. X: = 5;
е. Y: = - 5;
DrawWall (д е в 20. 20. Вярно ...);

SetFillStyle (SolidFill LightGray.);
FillPoly (5. Покривна);
DrawPoly (5. Покривна);
SetFillStyle (SolidFill DarkGray.);
FillPoly (4. Roof2);
DrawPoly (4. Roof2);

SetFillStyle (SolidFill Грийн.);
FillPoly (9. сянка);

SetFillStyle (SolidFill Red.);
DrawRect (.. Е е С 7. 8. 13. 20. Вярно Вярно ..);

<Окно>
SetColor (White);
SetFillStyle (SolidFill Blue.);
DrawRect (.. а б в 6. 6. 14. 14. Вярно Вярно ..);
DrawRect (.. а б в 10. 6. 14. 14. Вярно Вярно ..);
DrawRect (.. а б в 10. 6. 14. 9. Вярно Вярно ..);

<Табличка>
SetColor (син);
SetFillStyle (SolidFill Уайт.);
DrawRect (.. А Б В 1. 2. 19. 5. True True ..);

SetTextStyle (5. HorizDir 1.);
OutTextXY (а. X + б. X * 1 + С. X * 1 + 3.. Y + б. Y * 2 + гр. Y * 2.
"Дом-2: Перестройката");

докато не се направи KeyPressed
Забавяне (200);