Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

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

;  2) выбрать чем играть:
      2a) мышь
      2б) клавиатура
     3) выбрать скорость шарика
     4) выбрать размер планки
 
 
                       Используемые структуры данных:
 
 
type t_kubik=0..640;
              t_dx_dy=-1..1;
              t_arr=array[1..494] of t_kubik;
              kol_kubik=0..247;
 
t_kubik – значения всех переменных, используемых в программе, заданы в этих
пределах (и не более);
 
t_dx_dy – значение, которое принимает коэффициент, от которого зависит
направление движения по оси ОХ или ОУ;
 
t_arr – значения координат, которые принимает кубик, в соответствии со
своим отображением (изображением) на экране;
 
kol_kubik – максимальное количество кубиков;
 
 
 
                            Используемые модули:
 
Стандартные:
     1) CRT;
     2) GRAPH;
     3) WINDOS – модуль требуемый сконструируемым модулем MYMOUSE;
     4) STRINGS – модуль требуемый сконструируемым модулем MYMOUSE;
 
Сконструированные:
 
     1) MARKEL – основные игровые подпрограммы;
     2) MARK_ZAS – содержит инструментарий интерфейса (заставка, помощь,
        счёт лучших игроков в конце игры);
     3) MYMOUSE – работа с мышью
 
                          Спецификация подпрограмм:
 
   МодульMARKEL
 
           a. procedure livs(var liv:byte);
 
      Назначение: считает оставшиеся жизни, если число жизней будет равно
нулю, то выводит на экран мигающую надпись: «YOU HAVE LOST»;
 
      Входные данные: liv – число жизней;
      Выходные данные: liv – оставшиеся количество жизней;
 
 
       2. procedure perehod_level(const numbering:byte);
 
      Назначение: выводит по середине экрана надпись, соответствующую началу
нового этапа;
 
      Входные данные: numbering – номер нового этапа;
      Выходные данные: нет;
 
 
     3.  procedure planka_sharik(koeff:byte);
 
      Назначение: рисует планку, размером, определённым от значения koeff,
посередине экрана и шарик над ней;
 
      Входные данные: koeff – число определяющее размер планки;
      Выходные данные: нет;
 
      4. procedure musik;
 
      Назначение: выдаёт звуковой сигнал, соответствующий какому-либо
касанию шарика о что нибудь;
 
      Входные данные: нет;
      Выходные данные: нет;
 
      5.procedure izchez_vv_niz(var dy:t_dx_dy;x,y,i:t_kubik;var
a:t_arr;var kol_kub:kol_kubik);
 
      Назначение: определяет коснулся ли шарик кубика о верхнюю или нижнюю
грань;
 
      Входные данные:
    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. procedure death;
 
      Назначение: выдаёт звуковой сигнал, соответствующий проигрышу одной
жизни;
 
     Входные данные: нет;
      Выходные данные: нет;
 
      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_ku
12345След.
скачать работу

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

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ