Проектирование и реализация компьютерной игры "Змейка"

Характеристика методики создания компьютерной игры "Змейка", используя среду DevC++. Изучение особенностей среды разработки. Описание структуры создания игрового процесса. Изучение правил использования классов, описание схемы функционирования игры.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 16.03.2017
Размер файла 1,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Министерство образования Республики Беларусь

Учреждение образования

«Гомельский государственный университет

имени Франциска Скорины»

Математический факультет

Кафедра математических проблем управления и информации

Курсовая работа

на тему «Проектирование и реализация компьютерной игры

«Змейка»

Исполнитель

студентка группы ПО-41________________Е.И. Богданец

Научный руководитель

Преподаватель-стажер

кафедры МПУиИ________________М.А. Писпанен

Гомель-2016

Содержание

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

  • Введение
  • 1. Знакомство со средой разработки
    • 1.1 Среда разработки
    • 1.2 Язык программирования Dev-C++
  • 2. Структура создания игры
    • 2.1 Описание игры «Змейка»
    • 2.2 Использование классов
    • 2.3 Схема функционирования
    • 2.4 Алгоритм функции main
  • 3. Работа пользователя с приложением
  • Заключение
  • Список использованных источников
  • Приложение А.
  • Разработанный программный код
  • Введение
  • С развитием цифровых технологий компьютеры все больше вливаются в жизнь человека. Если раньше ЭВМ использовались исключительно для сложных математических вычислений, то сегодня сфера их применения существенно расширилась. Компьютерные игры - одно из наиболее массовых применений электронных вычислительных машин.
  • Развитие игровой индустрии шло стремительным темпом, и особенно пользовалось популярностью у подростков. Первые игры отличались простотой интерфейса и логики, но со временем они становились все сложнее и сложнее, над их созданием работал уже не один человек, а целая команда разработчиков.
  • Современные игры требуют достаточно большой производительности от компьютера, и не каждая офисная машина в силах воспроизводить их. Однако для отдыха от монотонной работы зачастую достаточно простой, не требовательной к технике, игры.
  • Впервые эта игра возникла еще в 1977 году, но и по сей день, она пользуется популярностью, особенно на мобильных платформах. Игрок управляет длинным, тонким существом, напоминающим змею, которое ползает по плоскости (как правило, ограниченной стенками), собирая еду (или другие предметы), избегая столкновения с собственным хвостом и краями игрового поля.
  • Цель данной курсовой работы - создание игры «Змейка» используя среду DevC++.
  • Для достижения этой цели в работе были поставлены следующие задачи:
  • - настройка главного окна, загрузка игровых ресурсов;
  • - настройка взаимодействия всех объектов друг с другом;
  • - исследовать возможности DevC++.

1. Знакомство со средой разработки

1.1 Среда разработки

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

Среда разработки включает в себя:

- текстовый редактор;

- компилятор и/или интерпретатор;

- средства автоматизации сборки;

- отладчик.

Иногда содержит также средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классов, инспектор объектов и диаграмму иерархии классов - для использования при объектно-ориентированной разработке ПО.

IDE обычно представляет собой единственную программу, в которой проводится вся разработка. Она, как правило, содержит много функций для создания, изменения, компилирования, развертывания и отладки программного обеспечения. Цель интегрированной среды заключается в том, чтобы объединить различные утилиты в одном модуле, который позволит абстрагироваться от выполнения вспомогательных задач, тем самым позволяя программисту сосредоточиться на решении собственно алгоритмической задачи и избежать потерь времени при выполнении типичных технических действий (например, вызове компилятора). Таким образом, повышается производительность труда разработчика. Также считается, что тесная интеграция задач разработки может далее повысить производительность за счёт возможности введения дополнительных функций на промежуточных этапах работы. Например, IDE позволяет проанализировать код и тем самым обеспечить мгновенную обратную связь и уведомить о синтаксических ошибках.

Большинство современных IDE являются графическими. Но первые IDE использовались ещё до того, как стали широко применяться операционные системы с графическим интерфейсом - они были основаны на текстовом интерфейсе с использованием функциональных и горячих клавиш для вызова различных функций (например, Turbo Pascal, созданный фирмой Borland).

Язык Си, созданный Денисом Ритчи в начале 70-х годов в Bell Laboratory американской корпорации AT&T, является одним из универсальных языков программирования. Язык Си считается языком системного программирования, хотя он удобен и для написания прикладных программ. Среди преимуществ языка Си следует отметить переносимость программ на компьютеры различной архитектуры и из одной операционной системы в другую, лаконичность записи алгоритмов, логическую стройность программ, а также возможность получить программный код, сравнимый по скорости выполнения с программами, написанными на языке ассемблера. Последнее связано с тем, что хотя Си является языком высокого уровня, имеющим полный набор конструкций структурного программирования, он также обладает набором низкоуровневых средств, обеспечивающих доступ к аппаратным средствам компьютера.

Широкое распространение Cи на различных типах компьютеров (называемых аппаратными платформами) привело ко многим вариациям языка. C++ известен как расширение языка Cи. Был разработан Бьерном Строустропом в начале 80-х годов в Bell Laboratories. Несмотря на то, что С++ произошёл от Си, в дальнейшем эти языки развивались независимо.

С++ - это гибридный язык, который предоставляет возможность программировать и в стиле Си, в объектно-ориентированном стиле, и в обоих стилях сразу.

Как правило, чтобы выполнить программу на Си/С++ необходимо пройти через 6 этапов: редактирование, препроцессорную (то есть предварительную) обработку, компиляцию, компоновку, загрузку и выполнение.

Первый этап представляет создание и редактирование файла с исходным текстом программы. Файл исходного текста программы на языке Си обычно имеет расширение «*.с», на языке С++ - «*.cpp». Это обычный текстовый файл, в который записывают текст программы в любом текстовом редакторе, например, в Блокноте.

На втором этапе компилятор начинает препроцессорную обработку текста программы, прежде чем ее компилировать (перевести программу в машинный код). Препроцессорная обработка - это поиск так называемых «директив компиляции» или «директив препроцессора», которые указывают, какие преобразования исходного текста программы нужно выполнить перед его компиляцией. Обычно это включение других текстовых файлов (заголовочных файлов) в файл, который подлежит компиляции.

Третий этап - это компиляция: перевод исходного текста программы в машинные коды и создание так называемого объектного файла с расширением «*.o» (несмотря на то, что в этом файле уже записан машинный код, объектный файл еще нельзя запускать на компьютере, потому что в нем не хватает стандартных функций (например, для ввода и вывода данных)).

Четвертый этап - компоновка. Компоновщик подключает стандартные функции, хранящиеся в библиотеках (в Dev C++ они имеют расширение «*.a»). В результате получается один файл с расширением *.exe, который и представляет собой готовую программу.

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

 Шестой этап - это выполнение. Каждый из названных выше этапов может заканчиваться ошибкой или неудачей из-за ошибки. Тогда программист должен вернуться к редактированию и исправлению исходного текста программы, предварительно его хорошо проанализировав. Затем снова пройти через все этапы работы с исходным текстом программы до получения работающего без ошибок загрузочного модуля.

1.2 Язык программирования Dev-C++

Dev-C++, работающей под управлением операционной системы Windows. Это полноценное Windows-приложение с удобным интерфейсом, обладающее всеми необходимыми функциями для разработки небольших проектов. Среда поддерживает шаблоны кода, всплывающие подсказки при наборе функций и методов классов, а также позволяет аналогичным образом просматривать значения переменных в процессе отладки (в качестве отладчика используется внешний GNU Debugger, также известный как GDB).

Реализованные функции:

- встроенный редактор текстов;

- встроенный отладчик (GDB);

- менеджер проектов;

- браузер классов;

- авто дополнение кода;

- подсистема управления компиляцией, редактированием связей.

На рисунке 1 представлено начала создания проекта.

Рисунок 1- Создание проекта

Рисунок 2 показывает рабочую область Dev C++.

Рисунок 2- Рабочая область

Запуск приложения показан на рисунке 3.

Рисунок 3- Запуск приложения

2. Структура создания игры

2.1 Описание игры «Змейка»

Первой игрой этого плана был игровой автомат Hustle, выпущенный фирмой Gremlin в 1977 году. Одна из первых реализаций (возможно, первая) на домашнем компьютере была сделана в 1979 году на компьютере TRS-80, автор F. Seger (Германия). Вскоре после неё вышла версия для Commodore VIC-20, под названием Worms. Микрокомпьютерная версия игры Hustle была выпущена Milton Bradley для компьютера TI-99/4A в 1980 году. Версии игры существовали и на многих советских компьютерах, например - на Радио 86РК.

В нашей программе реализовано одно из решений известной классической задачи «змейка». Игрок задает направление движения змейки с помощью управляющих клавиш (стрелок). Если змейка находит (съедает) яблоко, то её длина увеличивается. Цель игры - вырастить змейку, размером в 50 точек.

Программа может быть использована для приятного времяпровождения. Играть в нее могут люди всех возрастов и уровней интеллекта, автор с большим удовольствием играет в нее.

2.2 Использование классов

Игра разработана с использованием 2 типов классов.

Первый класс - это класс “Game”. Он отвечает за данные - точности: змейки, яблок, передвижение по X и Y, задержку и направление.

Второй класс - это класс «Zmeja». Он отвечает за координаты точек, из которых состоит змейка, а также за подсчёт количества яблок, съеденных змеёй.

Функция «PlusJabloko» разбрасывает по полю в различных местах яблоки. Бросается всего одно яблоко, которое лежит до тех пор, пока его не съедят. Функция PlusJabloko включает в себя проверку того случая, когда яблоко падает на тело ползущей змеи. В таком случае цикл прерывается и начинается сначала, но уже с другими значениями разброса, так как для этого используется уже другое число, сгенерированное машиной хаотично.

Функция «skorostGame» - функция старта змейки ее координат и скорости.

Функция «STENA_2» - рисует, окошко командной строки, тем самым создавая визуальную картину границ игрового поля и создаёт маску для вывода данных, полученных в процессе игры.

Функция «Move» - функция которая двигает и рисует.

Функция «intro» - выводит на экран, приветствующий пользователя, текст.

Функция «main» - главная функция во всём языке с++. В ней собираются воедино все ранее оговоренное, а также назначаются действия, которые будут выполняться, в следствие нажатия определённых клавиш.

2.3 Схема функционирования

Общая схема работы программы представлена на рисунке 1.

Рисунок 1- Общая схема работы

2.4 Алгоритм функции main

Функция main представлена на рисунке 2.

Рисунок 2- Алгоритм функции main

3. Работа пользователя с приложением

Запускаем игру, появляется приветствующее нас сообщение как показано на рисунке 3.

Рисунок 3- Начало игры

Собственно, игра начинается. Цель - скушать постоянно увеличивающейся змейкой 50 яблок, разбрасываемых по игровому полю как представлено на рисунке 4.

Рисунок 4- Окно управления змейкой

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

Рисунок 5- Окно проигрыша

На рисунке 6 мы видим точно такие же данные, как и на предыдущем рисунке, отличием является запись, которая указывает на ваш выигрыш.

Рисунок 6- Окно выигрыша

Заключение

В ходe разработки курсового проeкта были рассмотрены основы программирования на языке С++, освоeна работа с Dev C++, различными элeмeнтами интeрфeйса.

Мы рассмотрели основные элементы среды разработки, используемые в этом процессе, кратко ознакомились с типами интерфейсных элементов, а также узнали, как создать простую игру «Змейка». Мы также рассмотрели файлы, из которых состоит проект, и ознакомились с их содержимым.

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

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

Список использованных источников

Интернет -Университет Иформационных Технологий [Электронный ресурс]/Информационные технологии - Режим доступа: http://www.intuit.ru/

Все для программиста [Электронный ресурс]/ С,С++ - Режим доступа: http://www.codenet.ru/

Шилдт Г. С++: руководство для начинающих. 2005.- 628 с

Шилдт Г. С++: базовый курс, третье издание. 2004.- 547 с

Ричи Д.Н. Язык С [Электронный ресурс] - Режим доступа: http://www.books4all.ru/ganri/sisi+.html

Ашарина И.В. Основы программирования на языках С и С++.- М.: 2002.- 681 с

Приложение А.

Разработанный программный код

#include <iostream> //стандартная библиотека

#include <time.h> //случайные числа

#include <stdio.h> //для printf

#include <windows.h> // для HANDLE, курсора, цвета

#include <conio.h> //для kbhit

using namespace std;

HANDLE hConsole;

//HANDLE hStdout, hStdin;

HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);

void GotoXY(int X, int Y)

{

COORD coord = { X, Y };

SetConsoleCursorPosition(hStdOut, coord);

}

//Цвет

enum ConsoleColor

{

Black = 0,

Blue = 1,

Green = 2,

Cyan = 3,

Red = 4,

Magenta = 5,

Brown = 6,

LightGray = 7,

DarkGray = 8,

LightBlue = 9,

LightGreen = 10,

LightCyan = 11,

LightRed = 12,

LightMagenta = 13,

Yellow = 14,

White = 15

};

void SetColor(ConsoleColor text, ConsoleColor background)

{

SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));

}

class Zmeja // структура змейка

{

public:COORD *t; //точки

public:int PCount; //количество яблок

};

enum uprawlenie{LEFT,UP,RIGHT,DOWN}; //направление змейки

class Game //даные-точности: змейки, яблок, передвижение по X и Y, задержка, направление

{

public:Zmeja gaduka; //змейка

public:COORD jabloko; //яблоко

public:int dx,dy; //передвижение

public:int pause; //задержка

public:int nap; //направление

};

void PlusJabloko(Game &g) //Функция разброски яблок

{

int i,x,y;

int n = g.gaduka.PCount;

do

{

x = rand() % 56+3; //

y = rand() % 19+3; //кординаты яблока

for(i = 0; i < n; i++)

{

if(x == g.gaduka.t[i].X && y == g.gaduka.t[i].Y) // проверка чтоб яблоко не бросить на змею

break;

}

}

while(i < n);

g.jabloko.X = x; //

g.jabloko.Y = y; //запоминаем позицию яблока

SetConsoleCursorPosition(hConsole, g.jabloko); //переносим курсор в эту позицию

SetConsoleTextAttribute(hConsole,0x0c); //цвет яблока

printf("%c", 4); //рисуем яблоко каким хотим символом

}

void skorostGame(Game &g) // Функцыя старта змейки ее координат и скорости

{

system("cls");

g.gaduka.PCount = 3; //сколько точек в змейке

g.gaduka.t = new COORD [3];//создали точки

for(int i = 0; i < 3; i++)

{

g.gaduka.t[i].X = 20 + i;

g.gaduka.t[i].Y = 20;

}

g.dx = 1;

g.dy = 0;

g.pause = 100;//скорость передвижение змеи

PlusJabloko(g);

}

void Level()

{

GotoXY(10,10);cout <<"Vy nikogda ne vyigraete"<<endl; //

GotoXY(10,11);cout <<"esli ne budete bditelny!"<<endl; //

}

void ZmejaStart()

{

GotoXY(10,15);cout <<"Soberi 50 yablok, togda posmotrim ;)"<<endl; //НАДПИСЬ: Собери 50 яблок, тогда посмотрим ;)

}

void STENA_2() //Вся информация, отображаемая на стене

{

SetColor(LightBlue , Black);GotoXY(20,0);cout << "Snake game " <<endl;

GotoXY(64,2);cout << "Dannue:" << endl ;

GotoXY(64,3);cout << "Yablok:0" << endl ;

GotoXY(64,4); cout << "Dlina:3"<< endl;

GotoXY(64,5); cout << "Speed:0" << endl;

GotoXY(64,7); cout << "Uprawlenie:" << endl;

GotoXY(64,8); cout << "Esc:Wuxod" << endl;

GotoXY(64,9); cout << "P:Pause" << endl;

GotoXY(64,10); cout <<"S:Start" << endl;

GotoXY(64,11); cout <<"L:Level" << endl;

GotoXY(64,13);printf("%c",24);cout <<":Wwerx"<<endl;

GotoXY(64,14);printf("%c",25);cout<<":Wniz"<<endl;

GotoXY(64,15);printf("%c",27);cout<<":Wlewo"<<endl;

GotoXY(64,16);printf("%c",26);cout<<":Wprawo"<<endl;

{SetColor(LightMagenta , Black);

GotoXY(2,2); //Рисуем верхнюю горизонтальную линию-стенку

int m = 0;

for(m = 0; m < 60; m++)

{

printf("*");

}

}

{

GotoXY(2,24); //Рисуем нижнюю горизонтальную линию-стенку

int m = 0;

for(m = 0; m < 60;m++)

{

printf("*");

}

}

{//Рисуем левую вертикальную линию-стенку

GotoXY(2,3); cout << "*"<<endl;

GotoXY(2,4); cout << "*"<<endl;

GotoXY(2,5); cout << "*"<<endl;

GotoXY(2,6); cout << "*"<<endl;

GotoXY(2,7); cout << "*"<<endl;

GotoXY(2,8); cout << "*"<<endl;

GotoXY(2,9); cout << "*"<<endl;

GotoXY(2,10); cout << "*"<<endl;

GotoXY(2,11); cout << "*"<<endl;

GotoXY(2,12); cout << "*"<<endl;

GotoXY(2,13); cout << "*"<<endl;

GotoXY(2,14); cout << "*"<<endl;

GotoXY(2,15); cout << "*"<<endl;

GotoXY(2,16); cout << "*"<<endl;

GotoXY(2,17); cout << "*"<<endl;

GotoXY(2,18); cout << "*"<<endl;

GotoXY(2,19); cout << "*"<<endl;

GotoXY(2,20); cout << "*"<<endl;

GotoXY(2,21); cout << "*"<<endl;

GotoXY(2,22); cout << "*"<<endl;

GotoXY(2,23); cout << "*"<<endl;

}

{ //Рисуем правую вертикальную линию-стенку

GotoXY(61,3); cout << "*"<<endl;

GotoXY(61,4); cout << "*"<<endl;

GotoXY(61,5); cout << "*"<<endl;

GotoXY(61,6); cout << "*"<<endl;

GotoXY(61,7); cout << "*"<<endl;

GotoXY(61,8); cout << "*"<<endl;

GotoXY(61,9); cout << "*"<<endl;

GotoXY(61,10); cout << "*"<<endl;

GotoXY(61,11); cout << "*"<<endl;

GotoXY(61,12); cout << "*"<<endl;

GotoXY(61,13); cout << "*"<<endl;

GotoXY(61,14); cout << "*"<<endl;

GotoXY(61,15); cout << "*"<<endl;

GotoXY(61,16); cout << "*"<<endl;

GotoXY(61,17); cout << "*"<<endl;

GotoXY(61,18); cout << "*"<<endl;

GotoXY(61,19); cout << "*"<<endl;

GotoXY(61,20); cout << "*"<<endl;

GotoXY(61,21); cout << "*"<<endl;

GotoXY(61,22); cout << "*"<<endl;

GotoXY(61,23); cout << "*"<<endl;

}

}

//Функция которая двигает и рисует

enum {KONEC, STENA, PLUS, MOVE};

int Move(Game &g)

{

int & n = g.gaduka.PCount;

COORD head = g.gaduka.t[n - 1]; //голова

COORD tail = g.gaduka.t[0]; //хвост

COORD next;

next.X = head.X + g.dx;

next.Y = head.Y + g.dy; //проверка следующей точки по направлению

if(next.X < 3 || next.Y < 3 || next.X > 60 || next.Y > 23)//не уперлась ли в стену?

return STENA;

if(n > 4)

{

for(int i = 0; i < n; i++)

if(next.X == g.gaduka.t[i].X && next.Y == g.gaduka.t[i].Y) //не наехали ли на себя?

return KONEC;

}

if(next.X == g.jabloko.X && next.Y == g.jabloko.Y)

{

COORD*temp = new COORD[ ++n ]; //новый масив больший на 1

for(int i = 0; i < n; i++)

temp[i] = g.gaduka.t[i]; //перекопируем

temp[n - 1] = next; //добавляем одну

delete [] g.gaduka.t;

g.gaduka.t = temp;

SetConsoleCursorPosition(hConsole,head);

SetConsoleTextAttribute(hConsole, 0x0a); //закрашываем яблоко которое сели

printf("*");

SetConsoleCursorPosition(hConsole,next);

SetConsoleTextAttribute(hConsole,0x0a);

printf("%c",1);

PlusJabloko(g);

return PLUS;

}

for(int i = 0; i < n - 1; i++)

g.gaduka.t[i] = g.gaduka.t[i + 1];

g.gaduka.t[n - 1] = next;

SetConsoleCursorPosition(hConsole,tail);//закрашиваем хвостик

printf(" ");

SetConsoleCursorPosition(hConsole,head);

SetConsoleTextAttribute(hConsole, 0x0a);//красим хвост змеи в зелений цвет

printf("*");

SetConsoleCursorPosition(hConsole,next);

SetConsoleTextAttribute(hConsole,0x0f); //красим курсор в белый цвет (голову змеи)

printf("%c",1);

return MOVE;

}

int intro()

{

GotoXY(3,10);

printf("obichnya zmeika.Ypravlenie -strelochkami");

GotoXY(15,11);

printf("…Esli soberete 50 apple to vas zhdet serprix ;)");

GotoXY(18,15);

printf("dlya prodolzheniy tiknite na ok");

getch();

}

int main()

{

hConsole = GetStdHandle(STD_OUTPUT_HANDLE); //получаем дескриптор консоли

intro();

int key = 0, count = 0;

bool Pause=false;

Game g;

skorostGame(g);

STENA_2();

srand(time(0));

bool pause = false;

while(key != 27)

{

while(!kbhit()) //ждет пока нажмем

{

if(Pause==true)

{

Sleep(1);

continue;

}

switch (Move(g))//движение

{

case PLUS:

++count;

g.pause-=1;

SetColor(LightBlue , Black);

GotoXY(64,2);cout << "Danue:" << endl ;

GotoXY(64,3); cout << "Jablok:" <<count << endl;

GotoXY(64,4); cout << "Dlina:" <<g.gaduka.PCount << endl;

GotoXY(64,5); cout << "Speed:" <<g.pause<< endl;

GotoXY(64,7); cout << "Uprawlenie:" << endl;

GotoXY(64,8); cout << "Esc:Wuxod" << endl;

GotoXY(64,9); cout << "P:Pause" << endl;

GotoXY(64,10); cout <<"S:Start" << endl;

GotoXY(64,11); cout <<"L:Level" << endl;

GotoXY(64,13);printf("%c",24);cout <<":Wwerx"<<endl;

GotoXY(64,14);printf("%c",25);cout<<":Wniz"<<endl;

GotoXY(64,15);printf("%c",27);cout<<":Wlewo"<<endl;

GotoXY(64,16);printf("%c",26);cout<<":Wprawo"<<endl;

if (count == 50)

{

SetColor(White , Black);

GotoXY(24,1); cout << "Vy vyigrali! Pozdravlyayu! Vy ne chelovek! xD" << endl; //Вы выиграли

getch();

return(0);

}

break;

case STENA:

case KONEC:

GotoXY(23,1); printf("‚л Їа®ЁЈа «Ё! * -е -е !!!\n\n\t\t\t"); //Вы проиграли, ХА ХА ХА

getch();

break;

}

Sleep(g.pause); //Задержка

}

key = getch();

if(key=='P'||key=='p')

Pause=!Pause;

else if(key=='S'||key=='s')

ZmejaStart();

else if(key=='L'||key=='l')

Level();

else if(key==0||key==224)

{

key=getch();

if(key == 72 && g.nap != DOWN)

{

g.nap = UP;

g.dx = 0;

g.dy = -1;

}

else if(key == 80 && g.nap != UP)

{

g.nap = DOWN;

g.dx = 0;

g.dy = 1;

}

else if(key == 75 && g.nap != RIGHT)

{

g.nap = LEFT;

g.dx = -1;

g.dy = 0;

}

else if(key == 77 && g.nap != LEFT)

{

g.nap = RIGHT;

g.dx = 1;

g.dy = 0;

}

}

}

}

Размещено на Allbest.ru

...

Подобные документы

  • Разработка и реализация компьютерной игры "Змейка" с помощью языка программирования Pascal и модуля CRT. Составление общего алгоритма программы, выделение ее функциональных частей. Разработка тестовых примеров. Использование типизированных файлов.

    курсовая работа [2,1 M], добавлен 23.02.2011

  • Изучение текстового режима языка программирования Turbo Pascal. Написание игры "Змейка" с помощью средств, процедур и функций языка программирование Turbo Pascal. Структурное и функциональное описание разработки. Листинг и общие примеры работы программы.

    контрольная работа [286,3 K], добавлен 10.04.2011

  • Знакомство с основными особенностями развития игровой индустрии. Создание компьютерных игр как одна из прикладных сфер программирования. Общая характеристика набора методов класса Area. Рассмотрение способов создания игры "Змейка", анализ этапов.

    курсовая работа [799,4 K], добавлен 13.06.2013

  • Основные понятия абстракции, инкапсуляции, наследования и полиморфизма. Основы проектирования игр. Работа с графическими библиотеками. Создание дружественного пользовательского интерфейса. Разработка игры "Змейка", краткое описание классов, алгоритмы.

    курсовая работа [757,2 K], добавлен 19.06.2012

  • Алгоритмическое представление и описание правил игры "Эволюция". Построение диаграммы прецедентов. Разработка графического интерфейса пользователя. Реализация интерфейса в среде Unity. Структура файла сохранения игры. Проектирование поведения компьютера.

    дипломная работа [3,3 M], добавлен 18.02.2017

  • Приемы практического использования объектно-ориентированного подхода в создании законченного программного продукта. Разработка кроссплатформенной компьютерной игры "Морской бой". Принципы "хорошего стиля программирования C++/Qt". Описание классов игры.

    курсовая работа [2,7 M], добавлен 12.08.2014

  • Разработка и создание игры "Змейка". Использование динамически-активных принципов языка Java. Графические объекты программы. Описание игры, правила, теоретические сведения. Классы приложения. Типы данных. Реализация. Метод. Объект. Блок-схема игры.

    курсовая работа [12,4 K], добавлен 18.06.2008

  • Описание правил игры "Морской бой". Особенности современных компьютеров и искусственного интеллекта. Создание общей блок-схемы программы, ее внешний вид. Необходимые переменные, процедуры и функции. Характеристика объектов, используемых в приложении.

    курсовая работа [950,1 K], добавлен 05.11.2012

  • Общие сведения и существующие среды реализации компьютерной игры "Лабиринт". Разработка алгоритмов в виде блок-схемы, принципы программной реализации игры. Особенности тестирования разработанного программного продукта. Аспекты эксплуатации продукта.

    курсовая работа [1,4 M], добавлен 18.01.2017

  • Особенности ассемблера - машинно-ориентированного языка низкого уровня, применяемого для создания простых приложений. Связывание программ на разных языках. Типичный формат записи команд, инструкции и директивы языка ассемблера. Разработка игры "Змейка".

    курсовая работа [215,0 K], добавлен 20.07.2014

  • Понятие и эволюция игр, анализ их различных жанров и существующих аналогов. Выбор программных средств для реализации игры, написание сюжета и выбор среды разработки игры. Алгоритмы для придания гибкости обучающей игре. Описание программных модулей.

    дипломная работа [2,7 M], добавлен 27.10.2017

  • Особенности программирования аркадных игр в среде Python. Краткая характеристика языка программирования Python, его особенности и синтаксис. Описание компьютерной игры "Танчики" - правила игры, пояснение ключевых строк кода. Демонстрация работы программы.

    курсовая работа [160,3 K], добавлен 03.12.2014

  • Ознакомление с понятием компьютерных игр и их основными жанрами. Выбор сюжета игры и среды программирования. Отрисовка графики; проведение функционального и интерфейсного тестирования программы. Анализ условий труда в данной компьютерной лаборатории.

    дипломная работа [3,2 M], добавлен 13.07.2014

  • Обзор методов и средств реализации поставленной задачи. Описание компьютерной игры "Японские кроссворды". Обоснование инструментария разработки программного продукта. Алгоритмический анализ задачи. Графический интерфейс и лингвистическое обеспечение.

    курсовая работа [725,4 K], добавлен 27.08.2013

  • Разработка компьютерной игры "Эволюция" с помощью игрового движка Unit. Сравнение критериев игры-аналога и разрабатываемой игры. Разработка графического интерфейса пользователя. Настройки камеры в редакторе Unity. Структура файла сохранения игры.

    дипломная работа [3,6 M], добавлен 11.02.2017

  • Проект игры "Ловушка", созданный при помощи языка программирования C++. Описание заголовочных файлов. Правила и цель игры "Ловушка". Отображение движущихся объектов игры на экране с помощью заголовочного файла "gameclass.h". Описание игрового процесса.

    курсовая работа [70,6 K], добавлен 14.10.2012

  • Особенности разработки дизайна и элементов окружающей среды для компьютерной игры в жанре RPG. Создание концепт-артов вспомогательных персонажей и ландшафтов, которые соответствуют игровому миру. Расчет трудоемкости и затрат на разработку дизайн-проекта.

    дипломная работа [5,7 M], добавлен 18.08.2014

  • Анализ моделей и средств построения игровой компьютерной среды предметной области. Разработка алгоритмов построения игровой компьютерной среды. Отладка и экспериментальное тестирование компьютерной игры "Представление знаний в информационных системах".

    дипломная работа [2,9 M], добавлен 12.08.2017

  • Методика и основные этапы разработки стратегической игры, ее элементы и принцип работы программы. Порядок построения информационной модели. Диаграмма потоков данных и действий. Выбор языка программирования и его обоснование. Критерии качества среды.

    курсовая работа [3,5 M], добавлен 11.12.2012

  • Исследование базовых концепций программирования приложений под операционную систему Windows. Изучение истории создания универсального языка программирования Си. Разработка графического пользовательского интерфейса. Обзор правил игры и алгоритма работы.

    курсовая работа [58,2 K], добавлен 09.11.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.