Создание интуитивно понятной игры «Змейка»

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

Содержание 

Введение 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

Заключение……………………………………………………………………………………………………………………………………………………………………..13

Литература……………………………………………………………………………………………………………………………………………………………………32 
 

 

  Введение 

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

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

  Цель  данной работы создание интуитивно понятной игры «Змейка», которая сочетала бы в себе простоту и увлекательный игровой процесс.

  В компьютерном веке, огромное количество людей имеют персональные компьютеры. Они используют их, как и для работы, так и для отдыха.

  Индустрия компьютерных игр  зародилась в середине 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.Caption) then

  begin

  ShowMessage('Поздравляем!  Вы побили рекорд!!!');

  //если  победили, то перезаписываем рекорд

  Rewrite(file314);

  Write(file314,StrToInt(Form1.Label2.Caption));

  CloseFile(file314); 

  end; 

  ShowMessage('You are not prepared!!!11');