uses graphabc;
begin
setwindowsize (600,555);
SetPenWidth(2);
rectangle (200,200,400,499);
FloodFill(300,300,clBurlyWood);
rectangle (225,225,275,275);
FloodFill(250,250,clLightCyan);
line (225,250,275,250);
line (250,250,250,275);
rectangle (325,225,375,275);
FloodFill(350,250,clLightCyan);
line (325,250,375,250);
line (350,250,350,275);
rectangle (225,400,275,450);
FloodFill(250,425,clLightCyan);
line (225,425,275,425);
line (250,425,250,450);
rectangle (325,425,375,500);
FloodFill(350,490,clMaroon);
pie (350,425,25,0,180);
FloodFill(350,420,clMaroon);
line (200,200,300,100);
line (300,100,400,200);
FloodFill(300,110,clChocolate);
circle (300,160,20);
FloodFill(300,160,clLightCyan);
line (375,175,375,100);
line (375,100,355,100);
line (355,100,355,155);
FloodFill(370,110,clLightGray);
circle (550,50,30);
FloodFill(525,50,clYellow);
line (535,25,510,0);
line (525,35,470,15);
line (520,50,475,50);
line (525,65,485,90);
line (537,78,505,110);
line (550,80,535,120);
line (565,75,565,120);
line (575,65,595,90);
pie (500,413,30,0,180);
FloodFill(500,400,clRed);
rectangle (495,413,505,500);
FloodFill(500,495,clChocolate);
end.
Логика игры
Есть игровое поле — простой прямоугольник с твёрдыми границами. Когда шарик касается стенки или потолка, он отскакивает в другую сторону. Если он упадёт на пол — вы проиграли. Чтобы этого не случилось, внизу вдоль пола летает платформа, а вы ей управляете с щью стрелок. Ваша задача — подставлять платформу под шарик как можно дольше. За каждое удачное спасение шарика вы получаете одно очко.
Алгоритм
Чтобы реализовать такую логику игры, нужно предусмотреть такие сценарии поведения:
игра начинается;
шарик начинает двигаться;
если нажаты стрелки влево или вправо — двигаем платформу;
если шарик коснулся стенок, потолка или платформы — делаем отскок;
если шарик коснулся платформы — увеличиваем счёт на единицу;
если шарик упал на пол — выводим сообщение и заканчиваем игру.
Хитрость в том, что всё это происходит параллельно и независимо друг от друга. То есть пока шарик летает, мы вполне можем двигать платформу, а можем и оставить её на месте. И когда шарик отскакивает от стен, это тоже не мешает другим объектам двигаться и взаимодействовать между собой.
a = 4
b = 3.5
c = 2
print("y = ", a + (2 * b) - (3 * c) / (5 * a) + b)