Создание интуитивно понятной игры «Змейка»
Содержание
Введение 4
Глава 1. Теоретическая часть 5
1.1 Анализ предметной области 5
1.2 Обоснование и выбор ПО 5
1.3 Обоснование и выбор технических средств 5
Вывод по Главе 1 6
Глава 2. Экспериментальная часть 7
2.1 Техническое задание 7
2.2 Реализация 10
2.2.1 Руководство программиста 10
2.2.2 Руководство пользователя 11
2.2.3 Программа и методика испытаний 11
Вывод по Главе 2 13
Заключение……………………………………………………
Литература……………………………………………………
Введение
В компьютерном веке, огромное количество людей имеют персональные компьютеры. Они используют их, как и для работы, так и для отдыха. Данное разработанное программное обеспечение как раз таки и охватывает сферу отдыха.
Актуальность данной работы обуславливается растущей индустрией в сфере компьютерных игр, а, следовательно, является привлекательной площадкой для разработчиков программного обеспечения и торговых компаний.
Цель данной работы – создание интуитивно понятной игры «Змейка», которая сочетала бы в себе простоту и увлекательный игровой процесс.
В компьютерном веке, огромное количество людей имеют персональные компьютеры. Они используют их, как и для работы, так и для отдыха.
Индустрия компьютерных игр зародилась в середине 1970-х годов как движение энтузиастов и за несколько десятилетий выросла из небольшого рынка в мейнстрим с годовой прибылью в 9.5 миллиардов долларов в США в 2007 году и 11.7 миллиардов в 2008 году (по отчётам ESA).
Современные персональные компьютеры дали множество новшеств игровой индустрии. К числу самых значимых относят звуковые и графические карты, CD- и DVD-приводы, Unix и центральные процессоры. В частности, операционная система Unix была разработана для запуска компьютерной игры об исследовании космоса.
Современные игры — одни из самых требовательных приложений на ПК. Многие мощные компьютеры покупаются геймерами, которые хотят играть в новейшие технологичные игры. Таким образом, игровая индустрия тесно связана с индустрией производства центральных процессоров, ведь игры зачастую требуют более высокой скорости работы процессора, чем бизнес-приложения.
Первой игрой «Змейка» был игровой автомат Hustle, выпущенный фирмой Gremlin в 1977 году. С тех пор было выпущено огромное количество различных версий данной аркады. С начала 2000-х годов данное игровое ПО начали выпускать и для мобильных устройств, что вернуло некогда популярному продукту былую славу. Обусловлено это ненавязчивостью и простотой данной игры.
В данной курсовой работе требуется создать Windows-приложение на алгоритмическом языке Object Pascal в среде визуального программирования Delphi, которое должно соответствовать тематике игры «Змейка», а так же иметь интуитивно понятный пользователю интерфейс.
Практическая значимость данного продукта – развлекательная сфера, а так же возможно использовать его в разработке более сложного и продвинутого программного продукта. Так же с
помощью данного продукта можно тестировать новое оборудование для ПК.
Глава 1. Теоретическая часть
1.1 Анализ предметной области
Snake (Питон, Удав, Змейка и др.) — компьютерная игра, возникшая в середине или в конце 1970-х.
Игрок управляет длинным, тонким существом, напоминающим змею, которое ползает по плоскости (как правило, ограниченной стенками), собирая еду (или другие предметы), избегая столкновения с собственным хвостом и краями игрового поля. В некоторых вариантах на поле присутствуют дополнительные препятствия. Каждый раз, когда змея съедает кусок пищи, она становится длиннее, что постепенно усложняет игру. Игрок управляет направлением движения головы змеи (обычно 4 направления: вверх, вниз, влево, вправо), а хвост змеи движется следом. Игрок не может остановить движение змеи.
1.2 Обоснование и выбор ПО
Delphi,
ранее Borland Delphi — интегрированная
среда разработки ПО
для Microsoft Windows на языке
Delphi (ранее носившем
название Object Pascal), созданная
первоначально фирмой Borland..
Отличительным свойством
Object Pascal от С++ является
то, что объекты по умолчанию
располагаются в динамической
памяти. В среде Delphi
есть ряд возможностей,
которые повышают удобство
использования редактора
и отладчика, некоторые
из них доступны как
через пункты меню, так
и с помощью горячих
клавиш, однако многие
доступны только с клавиатуры.
Простой визуальный
редактор даёт возможность
без особого труда создавать
приложения со сложным
интерфейсом, получать
быстрый доступ к функциям
и константам класса
или объекта.
1.3 Обоснование и выбор технических средств
Для разработки данной программы был использован компьютер со следующими характеристиками:
- Процессор AMD Turion(tm)x2, 2.1 ГГц;
- 4096 МБ ОЗУ;
- Видеокарта ATI Radeon HD 3470
- HDD ST3120022A, 320 ГБ;
-
Операционная система
Windows 7 SP1.
На основании данных характеристик использованного компьютера, можно сказать, что для разработки данной программы и для работы в среде Delphi совершенно не обязателен современный мощный компьютер. Достаточно того, чтобы компьютер удовлетворял системным требованиям Delphi 7.
Минимальные системные требования Delphi 7:
- Процессор Intel Pentium 166 МГц (рекомендовано P2 400 МГц);
- Операционная система Windows 98, 2000, XP, Vista, 7;
- 256 МБ ОЗУ;
- 475 МБ свободного места на HDD;
-
Мышь, клавиатура
и монитор.
Вывод по Главе 1
В главе 1 была рассмотрена программа «Змейка», а также программные и технические средства, с помощью которых она создавалась.
Разработанное приложение, как говорилось ранее, может быть использовано в развлекательных целях.
При помощи описанного выше инструментария, данное приложение можно легко улучшить, добавив различные функции: например, добавить искусственный интеллект в качестве соперника или даже превратить одноуровневую игру в многоуровневую с множеством карт и сложности их строения.
Что
касается среды программирования Delphi,
то стоит сказать, что
она прекрасно подходит
для создания простых
приложений наподобие
игры «Змейка», и с ее
помощью, при желании
можно с легкостью заметно
расширить возможности
рассматриваемого в
данной работе приложения.
Глава 2 Экспериментальная часть
Техническое задание
2.1.1 Введение
2.1.1.1 Наименование программы
Игра для персонального компьютера «Змейка». Данный программный продукт представляет из себя Windows-приложение для настольных и мобильных(портативных) ПК.
2.1.1.2 Область применения
Использование рядовыми пользователями ПК в развлекательных, а так же в развивающих целях.
2.1.1.3 Объект, в котором используют программу
Предлагается использовать на стационарных ПК, а так же на мобильных(портативных) ПК.
2.1.2 Основание для разработки
2.1.2.1 Документы, на основании которых ведется проектирование
- Заявление на имя зав. кафедры Института Профессионального Образования и Информационных Технологий (ИПОиИТ) Башкирского государственного педагогического университета
2.1.2.2 Организация, утвердившая документ, и дата утверждения
Организация, утвердившая документ: Башкирский государственный педагогический университет им. М. Акмуллы
Адрес
организации: г.Уфа,
ул. Октябрьской революции, 3а
Дата утверждения документа: 26.05.2011
2.1.2.3 Шифр темы
Шифр темы: КИ «Змейка».
2.1.3 Назначение разработки
Игра для персонального компьютера «Змейка» предназначена для игрового времяпрепровождения. Во время, которого пользователям персонального компьютера представляется возможность управлять в Windows-приложении удавом, который поедает фрукты.
Его функциями являются:
-
Игровое времяпрепровождение;
- Предоставление инструкций
к игре;
- Статистические данные;
- Прослушивание музыкальных
композиций во время
игры по выбору пользователя;
- Развитие навыков реакции
и логики.
2.1.4 Требования к программе
2.1.4.1 Требования к функциональным характеристикам
2.1.4.1.1 Требования к составу выполняемых функций
Игра для персонального компьютера «Змейка» должна выполнять следующие функции:
-
Вести статистику рекордов;
- Иметь переключение
скоростей движения
удава;
- Воспроизводить аудио
файлы;
- Развивать реакцию
пользователя;
2.1.4.2 Требования к надежности
Надежность программы зависит от работы всей системы и от условий ее хранения. Если программа записана гибком магнитном диске, то ее надежность зависит от правильного хранения дискеты. В этом случае рекомендуется создать копию дискеты.
В качестве постоянного хранения программы следует использовать жесткий магнитный диск, а для распространения программы, установку программы лучше записывать на CD-ROM.
2.1.4.3 Условия эксплуатации
Требования не предъявляются.
2.1.4.4 Требования к составу и параметрам технических средств
Техническое обеспечение ПО должно максимально и наиболее эффективным образом использовать существующие у пользователей ПК технические средства.
В
состав ПО должны следующие
технические средства:
– Персональный
компьютер;
– Клавиатура;
– Колонки;
– Мышь;
Требования
к техническим
характеристикам
ПК:
– Процессор –
Intel Pentium 1.5 ГГц;
– Объем
оперативной памяти 128Мб
и выше;
– Дисковая
подсистема – 200Мб;
– VGA
видеоадаптер;
2.1.4.5 Требования к информационной и программной совместимости
Требования не предъявляются.
2.1.4.6 Требования к маркировке и упаковке
Требования не предъявляются.
2.1.4.7 Требования к транспортированию и хранению
Требования не предъявляются.
2.1.5 Требования к программной документации
Требования не предъявляются.
2.1.6 Технико-экономические показатели
Ориентировочная экономическая эффективность не рассчитываются.
2.1.7 Стадии и этапы разработки
В ходе выполнения проекта требуется выполнить работы по подготовке к вводу программы в действие. При подготовке к вводу в эксплуатацию компьютерная игра «Змейка» должен обеспечить выполнение следующих работ:
- Определить ответственных лиц, ответственных за внедрение и проведение опытной эксплуатации компьютерной игры «Змейка;
2.1.8 Порядок контроля и приемки
2.1.8.1 Виды испытаний
Проводились испытания под управлением Windows XP/Vista/7. В каждой из систем данное приложение прошло проверку на совместимость и производительность.
2.1.8.2 Общие требования к приемке работы
Сдача производится комиссии состоящей из 2-х человек и исполнителя, в данном случае студента-разработчика.
Все создаваемые в рамках настоящей работы программные изделия передаются комиссии виде готовых модулей, так и в виде исходных кодов, представляемых в электронной форме на стандартном машинном носителе (на компакт-диске).
2.2 Реализация
2.2.1 Руководство программиста
- Развлекательная программа в сфере персональных компьютеров, работающая под управлением Windows XP/Vista/7.
- Windows-приложение «Змейка» написанное на языке Delphi (Object Pascal) в одноименной среде разработке Delphi 7.
- Обращение к программе производится посредством мыши и клавиатуры.
-
Имеются входные
данные в виде
активных кнопок (движения
змея, управление скоростями).
2.2.2 Руководство
пользователя
- Компьютерная игра «Змейка».
- Поддерживаемая операционная система – Windows XP/Vista/7.
- Управление игрой осуществляется посредством клавиатуры и мыши.
- Программа не требует установки, следовательно, достаточно просто скопировать данную игру на жесткий диск персонального компьютера и запустить приложение.
2.2.3 Программа и методика испытаний
Целью испытания программы «Змейка» является выявление противоречий между разработанной системой и первоначальными целями её создания.
2.2.3.1
Для испытания программного продукта «Змейка» необходим ПК следующей конфигурации:
- персональный компьютер с процессором класса Intel Pentium 233 Мгц и выше;
- оперативная память 128Мб и выше;
- видеоадаптер, поддерживающий разрешение 800*600 пикселов и режим цветности 32 bit;
- монитор, поддерживающий разрешение 800х600pi и режим 32bit;
-
операционная система
семейства Windows XP/Vista/7.
Порядок проведения испытаний производился следующим образом:
- испытание на установку программного продукта;
- испытание средств взаимодействия с пользователем: меню программы, работа с данными, просмотр отчета;
-
испытание совместимости.
2.2.3.2 Методы и результаты испытаний
Порядок
и результаты приведены
в таблице 1
Таблица 1 Данные об испытании программы
| Метод испытания | Проверяемое действие | Результат |
| 1 Проверка установки программного продукта на жесткий диск компьютера | Правильность работы программы после установки | Программа работает корректно |
| 2 Проверка средств взаимодействия с пользователем | Меню программы-Выполнение команды «О программе» -Выполнение команды «Об авторе» -Выполнение команды «Играть» -Выполнение команды «Новичок» -Выполнение команды «Игрок» -Выполнение команды «Профессионал» -Выполнение команды «Слушать во время игры музыку» -Выполнение команды «Переключения скоростей» -Выполнение команд с окнами -Выполнение команды «Управления движением» -Выполнение команды «Пауза» |
Осуществляется Осуществляется Осуществляется Осуществляется Осуществляется Осуществляется Осуществляется Осуществляется Осуществляется Осуществляется Осуществляется |
| 3 Проверка производительности | Скорость и качество отображения объектов и время отклика команд | Зависит от количества видео и оперативной памяти |
| 4 Проверка совместимости | Windows XP/Vista/7. | Запуск программы осуществляется |
Испытания программы «Змейка» показали отсутствие противоречий между разработанной системой и первоначальными целями её создания.
Испытания
проводились максимально
простыми методами для
выявления работоспособности
программы. Проверена
каждая ветвь алгоритма
и всевозможные возникновения
ошибок при работе с программой. Результаты испытаний сведены в таблицу 1.
Окончательный
результат испытания
программного продукта
«Змейка» показал качество
разработанной игры,
корректную работу с
данными и удобство
интерфейсной части
программы.
Вывод по Главе 2
В главе 2 было представлено разработанное техническое задание к данной программе, которое соответствует ГОСТ 34.602-89. Были разработаны и проведены испытания программного обеспечения на ошибки и совместимость с операционными системами.
Так
же было представлено
руководство для
программиста, с помощью
которого другой разработчик
может самостоятельно
доработать данный продукт.
Заключение:
Данный курсовой проект был выполнен в полном соответствии поставленному заданию и отлажен в среде Delphi 7.0. В ходе выполнения курсовой работы было разработано программное обеспечение компьютерная игра «Змейка», а также создан визуальный интерфейс для удобной работы пользователей
В результате тестирования была найдена ошибка в коде, которая не влияет на работоспособность программы. В следующих курсовых работах данная ошибка будет исправлена.
В
результате выполнения
данной курсовой работы,
я убедился в широких
возможностях языка
программирования Object Pascal
и среды проектирования Delphi 7.
Приложение
Unit1 – главная форма программы;
Unit2 – форма для заставки;
Unit3 –
форма информации для
пользователя и предварительных
настроек;
unit
Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ComCtrls, Buttons, MPlayer;
type
TForm1 = class(TForm)
Image1: TImage;
Timer1: TTimer;
Label1: TLabel;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
MediaPlayer1: TMediaPlayer;
Label6: TLabel;
Timer2: TTimer;
Label7: TLabel;
Label8: TLabel;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
file314: TextFile; //эта переменная хранит имя файла рекордов
i,j,k,l,q,points,Sek: integer;
// переменные для циклов, подсчета очков и т.д.
a: array [1..35,1..30] of integer; //массив, из которого состоит
// наше поле, где бегает змейка
q1,q2: array [1..9999] of integer; // две переменных-массива,
// для задания змеи q1-для реального отображения,
// q2 - для просчёта
длины и присоединения
новых клеточек
vek: string[1]; //тут
мы храним направление
движение удава
grot: boolean; //а новая фишка, добавлена для того,
// что бы при нажатии на несколько кнопок игра не выдавала
// сообщение о том, что удав врезался сам в себя.
implementation
uses
Unit2, Unit3;
{$R *.dfm}
// процедура появления новой "еды"
procedure FFx();
begin
i:= random(31)+2;
j:= random(26)+2;
if a[i,j]=1 then ffx else a[i,j] := 2;
end;
// процедура прорисовки поля -
// прорисовка удава
procedure ZZx();
begin
for i:=1 to 35 do
for
j:=1 to 30 do
if a[i,j]=1 then a[i,j] := 0;
for i:=1 to q do
a[q1[i],q2[i]]:=1;
end;
// q - длина змеи, здесь мы прорисовываем её с конца.
procedure CCx();
begin
for i:=q downto 1 do
begin
q1[i+1]:=q1[i];
q2[i+1]:=q2[i];
end;
end;
//
процедура выхода
procedure AAx();
begin
Form1.Label1.Caption
:= 'Конец';
Form1.Label1.Visible
:= true;
vek:='w';
Form1.Timer1.Enabled
:= false;
AssignFile(file314,'rec.ffx'
Reset(file314);
Read(File314,i);
// проверка на победителя
if
i<StrToInt(Form1.Label2.
begin
ShowMessage('Поздравляем! Вы побили рекорд!!!');
//если победили, то перезаписываем рекорд
Rewrite(file314);
Write(file314,StrToInt(
CloseFile(file314);
end;
ShowMessage('You are not prepared!!!11');