Напишите программу: Бильярдный стол и шар - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Напишите программу: Шар, который катается по бильярдному столу, когда шар попал в лузу (одну из 6), то программа прерывается. (Хотя бы наброски программы)

Решение задачи: «Напишите программу: Бильярдный стол и шар»

textual
Листинг программы
uses graphABC;
var x,y,kx,ky,v: integer;
    b: boolean;
 
procedure Fon;
begin
clearwindow;
setbrushcolor(clbrown);
rectangle(10,10,490,390);
setbrushcolor(clgreen);
rectangle(20,20,480,380);
setbrushcolor(clbrown);
circle(30,30,20);
circle(470,370,20);
circle(470,30,20);
circle(30,370,20);
end;
 
procedure Shar(var xx,yy,kkx,kky: integer);
begin
if (xx<35) or (xx>465) then kkx:=kkx*(-1);
if (yy<35) or (yy>365) then kky:=kky*(-1);
xx:=xx+kkx;
yy:=yy+kky;
setbrushcolor(clwhite);
circle(xx,yy,10);
end;
 
begin
lockdrawing;
v:=random(2); if v=0 then kx:=1 else kx:=-1;
v:=random(2); if v=0 then ky:=1 else ky:=-1;
x:=250;
y:=200;
repeat
Fon;
Shar(x,y,kx,ky);
sleep(1);
redraw;
b:=((x<45) and (y<45)) or ((x<45) and (y>355))
 or ((x>455) and (y<45)) or ((x>455) and (y>355));
until b;
end.

Объяснение кода листинга программы

  1. Программа описывает бильярдный стол и шар.
  2. Используется графический модуль graphABC.
  3. В начале программы объявлены переменные:
    • x, y, kx, ky, v - целочисленные переменные;
    • b - булева переменная;
    • procedure Fon; - процедура для рисования стола;
    • procedure Shar(var xx,yy,kkx,kky: integer); - процедура для рисования шара;
  4. В процедуре Fon рисуется бильярдный стол, используя функции setbrushcolor, rectangle и circle.
  5. В процедуре Shar(var xx,yy,kkx,kky: integer) рисуется шар, используя функции setbrushcolor и circle. Также здесь используются переменные kkx и kky для горизонтального и вертикального смещения шара.
  6. В основной части программы, после объявления переменных, используется цикл repeat-until для выполнения игры.
  7. В начале каждого хода программы вызывается процедура Fon для отрисовки стола.
  8. Затем вызывается процедура Shar с текущими координатами шара x, y и смещениями kx и ky, которые случайным образом принимают значения -1 или 1.
  9. После этого программа ожидает 1 секунду и вызывает функцию redraw для обновления экрана.
  10. Булева переменная b устанавливается в истинное значение, если шар находится в пределах стола, и в противном случае остается ложным.
  11. Цикл повторяется до тех пор, пока булева переменная b не станет истинной, что означает, что шар попал в лузу.
  12. В конце программы требуется вызов функции sleep для задержки выполнения программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.5 из 5
Похожие ответы