Разработка программы 'Игра 'Змейка'

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1008,39 Кб
  • Опубликовано:
    2015-04-28
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка программы 'Игра 'Змейка'

Государственное образовательное учреждение высшего профессионального образования

«Сибирская государственная автомобильно-дорожная академия

(СибАДИ)»

Факультет Информационные системы в управлении

Направление Информационная безопасность

Кафедра Информационная безопасность





Пояснительная записка к курсовой работе

по дисциплине «Языки программирования»

Название работы «Разработка программы «Игра «Змейка»

Выполнил: студент гр. БИб-13И1

Щепов Олег Максимович

Проверил преподаватель

Толкачева Е.В.





Омск 2014

Содержание

 

Введение

. Среда разработки приложений Microsoft Visual C++

.1 Основы языка C++

.2 Элементы управления в Microsoft Visual C++

. Описание программы

.1 Правила игры

.2 Блок-схема программы

.2 Демонстрация работы программы

Заключение

Приложение А Листинг программы

 

Введение

 

Целью курсовой работы является получение опыта самостоятельной разработки в соответствии с заданием пользовательского приложения, работающего под управлением ОС Microsoft Windows, в среде разработки приложений Microsoft Visual C++, а также получение навыка составления пояснительной записки и оформления в соответствии с требованиями, принятыми на факультете «Информационные системы в управлении».

Задачами курсовой работы являются: 1) разработка программы
в соответствии с заданием; 2) составление пояснительной записки
в соответствии с требованиями.

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

Во второй главе приводится краткое описание программы, блок-схема программы и демонстрация работы программы.

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

В приложение вынесен программный код с подробными комментариями.

1. Среда разработки приложений Microsoft Visual C++

Visual C++ (MSVC) - интегрированная среда разработки приложений на языке C++, разработанная фирмой Microsoft и поставляемая либо как часть комплекта Microsoft Visual Studio, либо отдельно в виде бесплатного функционально ограниченного комплекта Visual C++ Express Edition.

1.1 Основы языка С++


C++ - компилируемый <#"784607.files/image001.gif">

Рисунок 1.1 - Главное окно Microsoft Visual Studio

Рисунок 1.2 - Окно создания проекта

Рисунок 1.3 - Окно разработки программы

2. Описание программы

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

В таблице 2.1 перечислены используемые в программе глобальные константы и переменные, в таблице 2.2 - функции.

Таблица 2.1 - Глобальные константы и переменные

Имя

Тип

Назначение

main_color[]

char

шаблон для цвета

size

int

размер змейки

X, Y

int

в какую сторону движется змейка

coordinates_x[1000], coordinates_y[1000]

int

массивы, хранящие координаты частей тела змейки

food_x, food_y

int

координаты еды

symbol

char

хранит ASCII код нажатой клавиши

А[1000][1000]

char

таблица, в которой происходит вся игра

N

const int

высота таблицы

M

const int

ширина таблицы

TIME

const int

время за которое змейка перемещается на одну клетку


Таблица 2.2 - функции

Имя

Тип

Назначение

change_color

функция изменения цвета консоли

change_direction

void

функция, считывающая нажатую клавишу

show_table

void

функция для вывода таблицы

clear_snake_on_table

void

очищаем координаты, в которых располагалась змейка

show_snake_on_table

void

Обозначаем координаты змейки

game_over

bool

проверяем, съела ли змейка саму себя

check_coordinates

void

проверяем, не вышла ли змейка за поле, если да то возвращаем ее обратно

next_step

void

функция перемещения змейки

food_check

bool

функция проверки на наличие еды на карте

place_food

void

функция добавления еды на карту

standart_settings

void

начальные установки

main

int

Осуществление всех функций

2.1 Правила игры

Правила игры "Змейка" :

·            Змейка всё время движется, перемещаясь на одну клетку через определённый промежуток времени.

·            Управление змейкой происходит через клавиши «WASD» (язык клавиатуры должен быть переключён на английский).

·            Когда змейка достигает еды, её длина увеличивается на одну клетку.

·            Когда змейка втыкается в саму себя, вы проигрываете.

·            Достигнув края поля, змейка появляется с другой стороны поля.

·            Суть игры увеличить змейку на столько, на сколько это возможно.

2.2 Блок-схема части программы

2.3 Демонстрация работы программы

Для начала работы с программой нужно запустить файл Змейка.exe. Появится окно программы (рисунок 2.3).

Рисунок 2.3 - окно программы «Змейка»

Во время игры вы должны управлять змейкой через клавиши «WASD». (рисунок 2.4).

Рисунок 2.4 - Результат нажатия клавиши «S»

При достижении головой змейки еды, её длина увеличивается. (рисунок 2.5).

Рисунок 2.5 - Съев одну единицу еды змейка увеличилась на одну клетку

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

Рисунок 2.6 - Результат достижения края поля

Когда змейка втыкается в саму себя, вы проигрываете (рисунок 2.7).

Рисунок 2.7 -Конец игры

Заключение

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

-      базовые элементы управления, их свойства и методы;

- управление программой с помощью клавиатуры;

Полученные знания использованы на практике. Результатом работы является приложение-игра «Змейка».

Приложение А

Листинг программы

// Змейка.cpp.

//

# include <iostream>

# include <time.h>

# include <conio.h> // библиотека, нужна для использования функций kbhit() и getch()namespace std;main_color[] = "color ##"; // шаблон для цвета

int size; // размер змейкиX, Y; // в какую сторону движется змейкаcoordinates_x[1000], coordinates_y[1000]; // массивы, хранящие координаты частей тела змейки

int food_x = -1, food_y = -1; // координаты едыsymbol; // хранит ASCII код нажатой клавиши

char А[1000][1000]; // таблица, в которой происходит вся играint N = 15; // высота таблицыint M = 20; // ширина таблицыint TIME = 100; // время за которое змейка перемещается на одну клетку

change_color()

// функция изменения цвета консоли

{x = rand() % 16, y = rand() % 16;(x == y)

++y;%= 16;(x > 9)+= 'A' - 10;+= '0';(y > 9)+= 'A' - 10;+= '0';

// выбираем рандомные цвета_color[6] = x;

main_color[7] = y;(main_color);

// меняем цвет

}change_direction()

// функция, считывающая нажатую клавишу

{= _getch();

switch (symbol)

{119: if(X != 1 || Y != 0) { X = -1; Y = 0; } break;97 : if(X != 0 || Y != 1) { X = 0; Y = -1; } break;115 : if(X != -1 || Y != 0) { X = 1; Y = 0; } break;100 : if(X != 0 || Y != -1) { X = 0; Y = 1; } break;32 : change_color(); break;: break;

}

}show_table()

// функция для вывода таблицы

{("cls");

// очистка консоли(int i = 0; i <= N + 1; ++i)(int j = 0; j <= M + 1; ++j)<< (i == 0 || j == 0 || i == N + 1 || j == M + 1 ? '#' : А[i][j]) << (j <= M ? "" : "\n");

// вывод таблицы

}clear_snake_on_table()

// очищаем координаты, в которых располагалась змейка

{(int i = 1; i <= size; ++i)

А[coordinates_x[i]][coordinates_y[i]] = ' ';

}show_snake_on_table()

// обозначаем координаты змейки

{(X == 1 && Y == 0) А[coordinates_x[1]][coordinates_y[1]] = 'v';(X == -1 && Y == 0) А[coordinates_x[1]][coordinates_y[1]] = '^';(X == 0 && Y == 1) А[coordinates_x[1]][coordinates_y[1]] = '>';(X == 0 && Y == -1) А[coordinates_x[1]][coordinates_y[1]] = '<';

// изменяем тип головы

(int i = 2; i <= size; ++i)

А[coordinates_x[i]][coordinates_y[i]] = '8';

// красим змейку

}game_over()

// проверяем, съела ли змейка саму себя

{(int i = 2; i <= size; ++i)(coordinates_x[1] == coordinates_x[i] && coordinates_y[1] == coordinates_y[i]) return true;

// если координаты головы змейки равны координате какой-либо части тела змейки, то змейка съела саму себя

return false;

}check_coordinates()

// проверяем, не вышла ли змейка за поле, если да то возвращаем ее обратно

{(coordinates_x[1] > N) coordinates_x[1] = 1;(coordinates_x[1] < 1) coordinates_x[1] = N;(coordinates_y[1] > M) coordinates_y[1] = 1;(coordinates_y[1] < 1) coordinates_y[1] = M;

}next_step()

// функция перемещения змейки

{_snake_on_table();

// чистим таблицу от змейки

(int i = size; i >= 2; --i)

{_x[i] = coordinates_x[i - 1];_y[i] = coordinates_y[i - 1];

}

// передвигаем тело змейки

_x[1] += X;_y[1] += Y;

// передвигаем голову змейки

_coordinates();

// проверяем в порядке ли координаты

if(coordinates_x[1] == food_x && coordinates_y[1] == food_y)

{++;_x = -1;_y = -1;

}

// если голова змейки там же где и еда, то увеличиваем размер змейки

show_snake_on_table();

// рисуем змейку

(game_over() == true)

// если змея укусила себя

{<< "Vi proigrali! \n";("pause");

exit(0);

}

}food_check()

// функция проверки на наличие еды на карте

{(food_x == -1 && food_y == -1) return false;

// если координаты еды неопределенны то возвращаем truetrue;

// в остальных случаях false

// функция добавления еды на карту

{(time(NULL));(int i = 1; i <= 9; ++i)

{x = rand(), y = rand();(x < 0) x *= -1;(y < 0) y *= -1;%= (N + 1);%= (M + 1);(x == 0) ++x;(y == 0) ++y;

if(А[x][y] != '8' && А[x][y] != 'v' && А[x][y] != '^' && А[x][y] != '<' && А[x][y] != '>')

{_x = x;_y = y;

А[x][y] = '+';

return;

}

}

// ставим в рандомное место еду

}standart_settings()

// начальные установки

{= 1;_x[1] = 5;_y[1] = 5;= 0;

Y = 1;

// змейка движется вправо

}main ()

{_settings();

// задаем стандартные настройки

(1)

// бесконечный цикл

{(_kbhit() == true)

// если нажата клавиша_direction();

// обрабатываем нажатую клавишу

_step();

// двигаем змейку

(food_check() == false)

place_food();

// если нет еды, то ставим ее

show_table();

// рисуем змейку

(TIME);

// "усыпляем" программу на заданный интервал

}

}

Похожие работы на - Разработка программы 'Игра 'Змейка'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!