Разработка компьютерной игры "Змейка"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

Введение

 

Ни для кого не секрет, что видео игры прочно заняли свою позицию в современной индустрии развлечений. Существуют попытки выделить компьютерные игры как отдельную область искусства, наряду с театром, кино и т.п. Разработка игр может оказаться не только увлекательным, но и прибыльным делом, примеров этому предостаточно в истории. Первые примитивные компьютерные и видео игры были разработаны в 1950-х и 1960-х годах. Они работали на таких платформах, как осциллографы, университетские мейнфреймы и компьютеры EDSAC. Самой первой компьютерной игрой стал симулятор ракеты, созданный в 1942 году Томасом Голдсмитом Младшим (англ. Thomas T. Goldsmith Jr.) и Истл Рей Менном (англ. Estle Ray Mann). Позже, в 1952 году, появилась программа "OXO", имитирующая игру "крестики-нолики", созданная А.С. Дугласом как часть его докторской диссертации в Кембриджском Университете. Игра работала на большом университетском компьютере, известном как EDSAC (Electronic Delay Storage Automatic Calculator). В настоящее время, разработка игры - это многомиллионный процесс, в котором задействована целая команда разработчиков, сложные современные технологии и даже маркетинговые ходы.

Целью же моей курсовой работы будет разработка развивающей ловкость игры - "Змейка".

компьютерная игра pascal программа

1. Постановка задачи

 

В данной курсовой работе я ставлю перед собой следующие задачи:

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

2. Должно быть несколько уровней сложности (чем больше сложность, тем больше скорость змейки и ее первоначальная длина).

3. Змейка должна собирать пищу (символы на экране, которые появляются случайно); при этом змейка должна "разбиваться" при столкновении с границей игрового поля и со своим "хвостом".

4. Должна присутствовать возможность сохранения результата в типизированный файл. И вывод результатов на экран при последующем запуске программы.

 

2. Выбор метода реализации задачи

 

Для реализации игры будет использован язык программирования Pascal. Данный язык является наиболее распространённым языком программирования среди студентов. Основное назначение этого языка - обучение программированию. Это было заложено в языке Паскаль создателем Никлаусом Виртом. Также благодаря американской корпорации Borland, вложившей в язык Паскаль новые идеи и принципы, язык стал мощным средством для создания программ, которые могут решить широкий круг проблем: от простых вычислительных задач до сложных исследовательских, использующих огромные объемы данных.

Во многих случаях стандартных возможностей ввода-вывода данных с помощью процедуры Read, Readln, Write, Writeln оказывается явно недостаточно для разработки диалоговых программ. Поэтому при написании своей программы я буду использовать модуль CRT. С помощью этой библиотеки можно определить факт нажатия какой-либо спец. клавиши.

 

3. Составление общего алгоритма

 

После того, как программа будет запущена, на экране появится главное меню. С главного меню можно перейти к меню "Справка", просмотреть таблицу рекордов и, при помощи вкладки "Играть", перейти непосредственно к выбору уровня сложности (их всего 3: "глист" - самый легкий, "змея" и самый сложный - "анаконда") и к самой игре. В меню "Справка" можно посмотреть данные о разработчике, а также правила игры.

 

Рис.3.1 - Общий алгоритм программы

 

После выбора уровня сложности мы переходим к игровому полю. Управление змейкой осуществляется при помощи клавиш управления курсором. После того как игра закончилась, на экран выводится сообщение об этом и, если игрок набрал результат выше чем 10 место в списке рейтинга, предлагается ввести свое имя для сохранения результата. Далее осуществляется переход в главное меню. Это продолжается до тех пор, пока не буде нажата кнопка "Выход".

4. Выделение функциональных частей

 

Программа будет состоять из следующих функциональных частей:

  • Подпрограмма, которая рисует кнопки всех меню.
  • Подпрограмма, которая обеспечивает вывод и работу меню 2-го уровня.
  • Подпрограмма, отвечающая за изменение положения змейки.
  • Подпрограмма, которая обеспечивает работу с меню "Справка"
  • Подпрограмма, отвечающая за столкновение змейки.
  • Подпрограмма, которая отвечает за сохранение результатов.

 

5. Обоснование алгоритмов отдельных функциональных частей

 

  • Подпрограмма Ramka

Цель этой подпрограммы заключается в том, чтобы рисовать кнопки меню, осуществляется это следующим образом: При вызове процедуры надо указывать ее фактические параметры, именно они указывают подпрограмме, в каком месте стоит нарисовать кнопку меню и каким цветом нужно рисовать. Само рисование организуется при помощи счетного цикла (For.: =. to. do) и процедуры GotoXY (x,y), которая переводит курсор в место на экране с координатами x и y.

  • Процедура Menu2

Цель этой подпрограммы заключается в том, чтобы нарисовать и организовать работу меню 2-го уровня. Сначала рисуются рамка потом, при помощи процедуры Ramka, рисуются вкладки, а затем в этих вкладках вписываются названия кнопок. Работа с меню организуется при помощи цикла с постпроверкой условия (repeat … until), условного оператора if. then. else и

функции Readkey. Работает это по следующему принципу: функция readkey указыва?/p>