Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.abitu.ru/en2002/closed/viewwork.html?thesises=135
Дата изменения: Fri May 5 15:24:43 2006
Дата индексирования: Tue Oct 2 03:22:27 2012
Кодировка: koi8-r

Краткое описание:
Типичный Арканоид, сделанный под DirectDraw на «чистом» API. В связи с
этим исполняемый файл имеет маленький размер - 76 кб. Цель игры - сбить все
кирпичики (всего их 4 вида - сбиваемые соответственно с одного, двух, трёх
раз и непробиваемые) отбивая мяч ракеткой. Как только на данном уровне
будет сбит последний кирпич - меняется уровень. После окончания последнего
уровня, набранное игроком количество очков заносится в таблицу рекордов
(если это возможно) и сохраняется на диске. Системные требования - DirectX
7 и выше, видеокарта с 8 Мб памяти.


Описание работы:

Эта игра задумывалась с целью изучить компоненты DirectX для создания
гораздо более мощной игры - стратегии «Монополии», возможно, с
использованием Direct3D. Так получилось, что данная тренировочная программа
стала самостоятельной игрой.
После запуска игры на экране возникает меню из 5-и пунктов: "Start Game",
"High Scores", "Options", "Credits", "Quit". Для начала игры необходимо
нажать на "Start Game", после чего ввести своё имя. Это имя будет
использоваться при занесении очков игрока в таблицу рекордов. Из любого
меню, в том числе и в процессе игры, можно выйти нажатием клавиши "Esc".
Нажатие комбинации клавиш "Alt" + "F4" приводит к немедленному завершению
работы программы, при этом набранное количество очков, если возможно,
заносится в книгу рекордов и сохраняется на диск. В течении игры шарик
отражается от стенок и кирпичей по законам отражения, в случае, если шарик
попадает в угол кирпичика, то он поменяет своё направление движение на
обратное. Угол отражения от ракетки зависит от того, как близко к краю
ракетки ударится шарик. Максимальный угол в данном случае будет составлять
81o от вертикали. С течением времени скорость шарика увеличивается.
Минимальная скорость шарика - 2 максимальная -7. За каждый удар по
сбиваемому кирпичику шариком игроку добавляется количество очков,
высчитываемое по формуле: Score:=round(2.5*ballspeed), где ballspeed -
текущая скорость шарика, а Score - количество очков за удар. Таким образом,
за каждый удар по сбиваемому кирпичику игрок может получить от 5 до 18
очков, в зависимости от скорости шарика. После окончания игры, на экран
выводится таблица рекордов, из которой можно выйти при нажатии на клавишу
мыши или клавиши "Esc". Для того, чтобы самостоятельно увидеть таблицу
рекордов, необходимо в главном меню программы нажать на "High Scores". На
данном этапе разработки этой игры кнопки главного меню "Options" и
"Credits" не функционируют. Их активация планируется в ближайшее время.
Игра теоретически может иметь бесконечное количество уровней. Все уровни в
порядке следования находятся в файлах "level1.bl", "level2.bl", "level3.bl"
и т.д. Игра считает последним уровнем тот файл, на котором обрывается
последовательное увеличение числа, следующего за символами "level".
Формат файла-уровня:
Каждые 20 байтов - представляют соответствующую строку из 20 кирпичей в
уровне, при этом каждому байту соответствует одна клетка уровня. Значению
байта равное 4 - соответствует непробиваемый кирпичик, 1 - кирпичик,
пробиваемый с одного удара, 2 - кирпичик, пробиваемый с двух ударов, 3 -
кирпичик пробиваемый с трёх ударов, 0 - пустая клетка.
При выходе из игры таблица рекордов сохраняется в файле "scores.sc".
Формат файла "scores.sc":
Каждые 12 байт соответствуют одному игроку. Первые 10 байт - имя игрока,
после него следуют количество очков, набранное данным игроком - 2 байта -
первый байт младший байт в шестнадцатеричном представлении количества
очков, второй байт - старший байт в шестнадцатеричном представлении
количества очков. Записи по 12 байт следуют в порядке занимаемого места.
Максимальное число записей - 9.
Преимущества: игра не использует VCL, а использует только API Windows'а и
функции DirectDraw и DirectInput. Вследствие чего игра имеет очень
маленький размер, запускаемого файла - 76 кб, а также напрямую работает с
мышей, клавиатурой и видеокартой, миную функции Windows'а, что повышает
производительность.
Недостатки: на данном этапе разработки отсутствуют бонусы при сбивании
кирпичиков, отсутствует звук. Всё это планируется сделать в течении
ближайшего времени.
Перспективы дальнейшего исследования: добавить недостающие функции игры,
а также есть идея создать 3-хмерный Арканоид с полусферической ракеткой.