Арканоид на Паскале

Назначение: определяет коснулся ли шарик кубика о верхнюю или нижнюю грань;

Входные данные:

2) dy – направление движения шарика по оси Y;

3) x,y – текущие координаты центра шарика;

4) i – значение, от которого зависит какие кубики проверять на сбивание;

5) a – массив координат кубиков;

6) kol_kub – количество кубиков на данный момент;

Выходные данные:

7) dy – изменённое направление движения шарика по оси Y;

8) a – изменённый массив координат кубиков;

9) kol_kub – изменённое количество кубиков;

6. procedure bok_bok(var dx:t_dx_dy;x,y:t_kubik;var a:t_arr;var kol_kub:kol_kubik);

Назначение: определяет коснулся ли шарик кубика о левую или правую грань;

Входные данные:

10) dx – направление движения шарика по оси X;

11) x,y – текущие координаты центра шарика;

12) a – массив координат кубиков;

13) kol_kub – количество кубиков на данный момент;

Выходные данные:

14) dx – изменённое направление движения шарика по оси X;

15) a – изменённый массив координат кубиков;

16) kol_kub – изменённое количество кубиков;

7. proceduredeath;

Назначение: выдаёт звуковой сигнал, соответствующий проигрышу одной жизни;

Входные данные: нет;

Выходные данные: нет;

8. procedure ugolki(var dx,dy:t_dx_dy;x,y:t_kubik;var a:t_arr;var kol_kub:kol_kubik);

Назначение: определяет коснулся ли шарик кубика об углы;

Входные данные:

17) dx,dy – направление движения шарика по осям X и Y;

18) x,y – текущие координаты центра шарика;

19) a – массив координат кубиков;

20) kol_kub – количество кубиков на данный момент;

Выходные данные:

21) dx,dy – изменённое направление движения шарика по осям X и Y;

22) a – изменённый массив координат кубиков;

23) kol_kub – изменённое количество кубиков;

9. procedure pausing(var pause:word);

Назначение: определяет скорость движения шарика по выбору самим пользователем, с наглядным графическим интерфейсом;

Входные данные:

pause – предполагаемая пауза;

Выходные данные:

pause – уже определённая пауза;

10. procedure zapis(const xs,ys:t_kubik; i:t_kubik;var a:t_arr);

Назначение: определяет на какие места в массиве записывать координаты кубика;

Входные данные:

1) xs,ys – координаты шарика, которые и нужно записать в массив;

24) i – переменная от которой зависит с какого номера искать подходящее место для координат кубика;

25) a – массив координат кубиков;

Выходныеданные: нет

11. procedure level(var a:t_arr;const numbering:byte;var kol_kub:kol_kubik);

Назначение: открывает файл и считывая с него координаты кубиков, рисует их;

Входные данные:

1) a – массив координат кубиков;

2) numbering – номер открываемого этапа;

3) kol_kub – количество кубиков;

Выходные данные:

1) a – массив координат кубиков;

2) kol_kub – количество нарисованных кубиков;

12. procedure left(const koeff:byte;var x1_dv,x2_dv:t_kubik);

Назначение: движение планки влево;

Входные данные:

1) koeff – коэффициент, от которого зависит размер планки;

2) x1_dv,x2_dv – координаты планки по оси Х;

Выходные данные:

x1_dv,x2_dv – изменившиеся координаты планки по оси Х;

13. procedure right(const koeff:byte;var x1_dv,x2_dv:t_kubik);

Назначение: движение планки вправо;

Входные данные:

1) koeff – коэффициент, от которого зависит размер планки;

3) x1_dv,x2_dv – координаты планки по оси Х;

Выходные данные:

x1_dv,x2_dv – изменившиеся координаты планки по оси Х;

14. procedure dviguna_keyboard(const koeff:byte;var x,x1_dv,x2_dv:t_kubik;var y:t_kubik);

Назначение: ожидание нажатия клавиши для начала нового этапа, если пользователь играет на клавиатуре;

Входные данные:

1) koeff – коэффициент, от которого зависит размер планки;

1) x,y – координаты шарика;

2) x1_dv,x2_dv – координаты планки по оси Х;

Выходные данные:

3) x,y – координаты шарика;

4) x1_dv,x2_dv – изменившиеся координаты планки по оси Х;

15. procedure dviguna_mouse(const koeff:byte;var x,x1_dv,x2_dv:t_kubik;var y:t_kubik);

Назначение: ожидание нажатия кнопки мыши для начала нового этапа, если пользователь играет мышью;

Входные данные:

1) koeff – коэффициент, от которого зависит размер планки;

2) x,y – координаты шарика;

5) x1_dv,x2_dv – координаты планки по оси Х;

Выходные данные:

a. x,y – координаты шарика;

b. x1_dv,x2_dv – изменившиеся координаты планки по оси Х;

16. procedure zar_nar(var x,y:t_kubik;const dx,dy:t_dx_dy);

Назначение: закраска уже нарисованного шарика и нарисование нового шарика с изменёнными координатами;

Входные данные:

1) x,y – координаты шарика;


Страница: