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

СОДЕРЖАНИЕ

1. ПРЕДИСЛОВИЕ

2. ВВЕДЕНИЕ

3. ЗАДАНИЕ КУРСОВОЙ РАБОТЫ

4. ПРАВИЛА ПОЛЬЗОВАНИЯ ПРОГРАММОЙ «АРКАНОИД»

5. ИСПОЛЬЗУЕМЫЕ СТРУКТУРЫ ДАННЫХ

6. ИСПОЛЬЗУЕМЫЕ МОДУЛИ

7. СПЕЦИФИКАЦИЯ ПОДПРОГРАММ

8. ТЕКСТ ПРОГРАММЫ И СКОНСТРУИРОВАННЫХ МОДУЛЕЙ

9. правила пользования дополнительной программой для построения уровней «MARKEDIT»

10. СПЕЦИФИКАЦИЯ ПОДПРОГРАММ В ПРОГРАММЕ «MARKEDIT»

11. ТЕКСТ ПРОГРАММЫ «MARKEDIT” И СКОНСТРУИРОВАННЫХ МОДУЛЕЙ

12. СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

Предисловие

Язык Турбо Паскаль – это один из самых распространённых языков программирования микрокомпьютеров. Он разработан фирмой «Борланд» как диалект стандартного языка Паскаль, но благодаря своей популярности сам стал стандартом языка программирования 8- и 16-разрядных микрокомпьютеров.

К важнейшим достоинствам языка Турбо Паскаль относятся небольшой размер компилятора, высокая степень соответствия стандартному Паскалю, очень быстрая компиляция программ, объединение компилятора с интерактивным экранным редактором, предупреждение об ошибках на уровне исходной программы, обширная библиотека подпрограмм и полезные расширения, упрощающие системное программирование.

Введение

Одной из основных проблем, с которой сталкиваются в процессе программирования, является написание программы, не содержащей ошибок. Ошибку наиболее полно можно определить как расхождение поведения программы с ожиданиями пользователя. Сюда входит как несоответствие результатов исходным данным, так и другие, порой более опасные эффекты: зацикливание, аварийная остановка программ и т.п.

Наиболее явно наблюдаемыми историческими тенденциями в программировании являются непрерывный рост пользовательских требований, лавинообразное усложнение функциональности программы и, как следствие, - усложнение её разработки.В связи с увеличением трудоёмкости програмных средств возникла необходимость выработки интеллектуальных инструментов, позволяющих разработчикам справляться с возросшей сложностью своего труда.

В настоящий момент можно утверждать, что практически каждая программа составляется с применением той или иной технологии программирования.

«В связи с тем,что за последние десять или пятьнадцать лет производительность вычислительных машин увеличилась в тысячи раз, пользователи стали гораздо более бесцеремонными при выборе проблем, которые они считают «технически разрешимыми». Пользователи хотят, чтобы размеры, сложность и изощрённость программ увеличивалась исключительно быстрыми темпами, и в последние годы стало очевидным, что в целом наши программистские возможности не поспевают за этими неумеренными аппетитами».

По мере того, как мощь компьютеров росла, а область применения всё расширялась, увеличивались не только размеры, и сложность программ, но и количество ошибок в них.

Главной задачей современного программиста при написании программы является не подвегание её бесконечным тестированиям, а тщательный, полный анализ исходного текста программы, а также отладка программы с помощью дополнительных програмных средств.

Задание на проектирование

Разработать алгоритм игры «АРКАНОИД», цель которой заключается в наборе как можно большего количества очков, которые увеличиваются при выбивании очередного кубика.

При выбивании всех кубиков текущего уровня осуществляется переход на следующий уровень, количество которых – десять.

В конце игры в зависимости от количества набранных очков, введённое по запросу программы имя игрока должно быть занесено в десятку лучших и записано в файл.

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

1) № текущего этапа;

2) количество оставшихся жизней, первоначально которых – 10;

1) количество оставшихся кубиков;

2) количество набранных очков.

Правила пользования программой:

1) запустить MARKBALL.EXE

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);

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

Входные данные: liv – число жизней;

Выходные данные: liv – оставшиеся количество жизней;

2. procedure perehod_level(const numbering:byte);

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

Входные данные: numbering – номер нового этапа;

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

3. procedureplanka_sharik(koeff:byte);

Назначение: рисует планку, размером, определённым от значения koeff, посередине экрана и шарик над ней;

Входные данные: koeff – число определяющее размер планки;

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

4. proceduremusik;

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

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

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

5.procedure izchez_vv_niz(var dy:t_dx_dy;x,y,i:t_kubik;var a:t_arr;var kol_kub:kol_kubik);


Страница: