Арканоид на ПаскалеРефераты >> Программирование и компьютеры >> Арканоид на Паскале
СОДЕРЖАНИЕ
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);