Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program platforma;
- uses graphabc;
- const
- y = 380;
- a = 120;
- var
- x, q, en: word;
- clev, cprav: byte;
- {-------------------------}
- procedure klavishi(k: integer);
- begin
- case k of
- VK_Enter:
- begin{процедура, опускающая части домика}
- repeat
- if clev = 1 then
- setpencolor(clblack);
- setpenwidth(1);
- DrawRectangle(230, q + 150, 290, q + 210);
- sleep(50);
- setpencolor(clwhite);
- setpenwidth(3);
- DrawRectangle(230, q + 150, 290, q + 210);
- q := q + 3;
- if clev = 0 then
- setpencolor(clblack);
- setpenwidth(1);
- line(390, q + 150, 430, q + 180);
- line(390, q + 150, 350, q + 180);
- line(430, q + 180, 350, q + 180);
- sleep(250);
- setpencolor(clwhite);
- setpenwidth(3);
- line(390, q + 150, 430, q + 180);
- line(390, q + 150, 350, q + 180);
- line(430, q + 180, 350, q + 180);
- q := q + 10;
- until q >= 200;
- end; {конец процедуры, опускающей домик}
- vk_tab:
- begin
- if clev = 1 then clev := 0 {процедура переключения между кранами}
- else
- clev := 1;
- if cprav = 0 then cprav := 1
- else cprav := 0;
- setbrushcolor(clwhite);
- fillRectangle(90, 75, 300, 220);
- if clev = 1 then
- setpencolor(clred)
- else setpencolor(clblack);
- setpenwidth(1);
- line(100, 200, 100, 190); {левый кран}
- line(100, 190, 200, 190);
- line(200, 190, 200, 200);
- line(200, 200, 100, 200);
- line(150, 190, 150, 80);
- line(155, 190, 155, 90);
- line(150, 80, 260, 80);
- line(155, 90, 260, 90);
- line(260, 80, 260, 150);
- line(230, 150, 290, 150); {домик на левом кране}
- line(290, 150, 290, 210);
- line(290, 210, 230, 210);
- line(230, 210, 230, 150);
- setbrushcolor(clwhite);
- fillRectangle(345, 75, 555, 220);
- if cprav = 1 then
- setpencolor(clred)
- else
- setpencolor(clblack);
- setpenwidth(1);
- line(450, 200, 450, 190); {правый кран}
- line(450, 190, 550, 190);
- line(550, 190, 550, 200);
- line(550, 200, 450, 200);
- line(500, 190, 500, 80);
- line(495, 190, 495, 90);
- line(500, 80, 390, 80);
- line(495, 90, 390, 90);
- line(390, 80, 390, 150);
- line(390, 150, 430, 180); {крыша на правом кране}
- line(390, 150, 350, 180);
- line(430, 180, 350, 180);
- end; {конец процедуры переключения}
- end;
- end;
- {--------------------------------}
- begin
- clearwindow;
- x := 0;
- q := 0;
- {=============================================================}
- clev := 1;
- setpencolor(clred);
- DrawRectangle(100, 200, 200, 190); {ЛЕВЫЙ КРАН}
- line(150, 190, 150, 80);
- line(155, 190, 155, 90);
- line(150, 80, 260, 80);
- line(155, 90, 260, 90);
- line(260, 80, 260, 150);
- DrawRectangle(230, 150, 290, 210);
- cprav := 0;
- setpencolor(clblack);
- DrawRectangle(450, 200, 550, 190); {правый кран}
- line(500, 190, 500, 80);
- line(495, 190, 495, 90);
- line(500, 80, 390, 80);
- line(495, 90, 390, 90);
- line(390, 80, 390, 150);
- line(390, 150, 430, 180);
- line(390, 150, 350, 180);
- line(430, 180, 350, 180);
- {=======================================}
- repeat
- setpenwidth(1); {ПЛАТФОРМА}
- setpencolor(clblack);
- DrawRectangle(x - 100, y, x, y - 20);
- line(x - 120, y - 10, x - 100, y - 10);
- circle(x - 75, y + 10, 10);
- circle(x - 25, y + 10, 10);
- DrawRectangle(x - 100 - a, y, x - a, y - 20);
- line(x - 120 - a, y - 10, x - 100 - a, y - 10);
- circle(x - 75 - a, y + 10, 10);
- circle(x - 25 - a, y + 10, 10);
- DrawRectangle(x - 100 - (a * 2), y, x - (a * 2), y - 20);
- line(x - 120 - (a * 2), y - 10, x - 100 - (a * 2), y - 10);
- circle(x - 75 - (a * 2), y + 10, 10);
- circle(x - 25 - (a * 2), y + 10, 10);
- DrawRectangle(x - 100 - (a * 3), y, x - (a * 3), y - 20);
- line(x - 120 - (a * 3), y - 10, x - 100 - (a * 3), y - 10);
- circle(x - 75 - (a * 3), y + 10, 10);
- circle(x - 25 - (a * 3), y + 10, 10);
- DrawRectangle(x - 100 - (a * 4), y, x - (a * 4), y - 20);
- line(x - 120 - (a * 4), y - 10, x - 100 - (a * 4), y - 10);
- circle(x - 75 - (a * 4), y + 10, 10);
- circle(x - 25 - (a * 4), y + 10, 10);
- DrawRectangle(x - 100 - (a * 5), y, x - (a * 5), y - 20);
- line(x - 120 - (a * 5), y - 10, x - 100 - (a * 5), y - 10);
- circle(x - 75 - (a * 5), y + 10, 10);
- circle(x - 25 - (a * 5), y + 10, 10);
- DrawRectangle(x - 100 - (a * 6), y, x - (a * 6), y - 20);
- line(x - 120 - (a * 6), y - 10, x - 100 - (a * 6), y - 10);
- circle(x - 75 - (a * 6), y + 10, 10);
- circle(x - 25 - (a * 6), y + 10, 10);
- DrawRectangle(x - 100 - (a * 7), y, x - (a * 7), y - 20);
- circle(x - 75 - (a * 7), y + 10, 10);
- circle(x - 25 - (a * 7), y + 10, 10);
- onkeydown := klavishi;
- sleep(50);
- setpenwidth(3);
- setpencolor(clwhite);
- DrawRectangle(x - 100, y, x, y - 20);
- line(x - 120, y - 10, x - 100, y - 10);
- circle(x - 75, y + 10, 10);
- circle(x - 25, y + 10, 10);
- DrawRectangle(x - 100 - a, y, x - a, y - 20);
- line(x - 120 - a, y - 10, x - 100 - a, y - 10);
- circle(x - 75 - a, y + 10, 10);
- circle(x - 25 - a, y + 10, 10);
- DrawRectangle(x - 100 - (a * 2), y, x - (a * 2), y - 20);
- line(x - 120 - (a * 2), y - 10, x - 100 - (a * 2), y - 10);
- circle(x - 75 - (a * 2), y + 10, 10);
- circle(x - 25 - (a * 2), y + 10, 10);
- DrawRectangle(x - 100 - (a * 3), y, x - (a * 3), y - 20);
- line(x - 120 - (a * 3), y - 10, x - 100 - (a * 3), y - 10);
- circle(x - 75 - (a * 3), y + 10, 10);
- circle(x - 25 - (a * 3), y + 10, 10);
- DrawRectangle(x - 100 - (a * 4), y, x - (a * 4), y - 20);
- line(x - 120 - (a * 4), y - 10, x - 100 - (a * 4), y - 10);
- circle(x - 75 - (a * 4), y + 10, 10);
- circle(x - 25 - (a * 4), y + 10, 10);
- DrawRectangle(x - 100 - (a * 5), y, x - (a * 5), y - 20);
- line(x - 120 - (a * 5), y - 10, x - 100 - (a * 5), y - 10);
- circle(x - 75 - (a * 5), y + 10, 10);
- circle(x - 25 - (a * 5), y + 10, 10);
- DrawRectangle(x - 100 - (a * 6), y, x - (a * 6), y - 20);
- line(x - 120 - (a * 6), y - 10, x - 100 - (a * 6), y - 10);
- circle(x - 75 - (a * 6), y + 10, 10);
- circle(x - 25 - (a * 6), y + 10, 10);
- DrawRectangle(x - 100 - (a * 7), y, x - (a * 7), y - 20);
- circle(x - 75 - (a * 7), y + 10, 10);
- circle(x - 25 - (a * 7), y + 10, 10);
- x := x + 10;
- until x >= 1500;
- end.
Advertisement
Add Comment
Please, Sign In to add comment