Разработка компьютерной игры "Змейка"
Описание разработки компьютерной игры "Змейка" в псевдокоде (команды в виде текста на русском языке). Характеристика переменных и констант, выбор начальных координат, изучение особенностей прорисовки начального положения, проверка правильности кода.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 22.01.2015 |
Размер файла | 22,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
Ни для кого не секрет, что видео игры прочно заняли свою позицию в современной индустрии развлечений. Существуют попытки выделить компьютерные игры как отдельную область искусства, наряду с театром, кино и т.п. Разработка игр может оказаться не только увлекательным, но и прибыльным делом, примеров этому предостаточно в истории. Первые примитивные компьютерные и видео игры были разработаны в 1950-х и 1960-х годах. Они работали на таких платформах, как осциллографы, университетские мейнфреймы и компьютеры EDSAC. Самой первой компьютерной игрой стал симулятор ракеты, созданный в 1942 году Томасом Голдсмитом Младшим (англ. Thomas T. Goldsmith Jr.) и Истл Рей Менном (англ. Estle Ray Mann). Позже, в 1952 году, появилась программа "OXO", имитирующая игру "крестики-нолики", созданная А.С. Дугласом как часть его докторской диссертации в Кембриджском Университете. Игра работала на большом университетском компьютере, известном как EDSAC (Electronic Delay Storage Automatic Calculator). В настоящее время, разработка игры - это многомиллионный процесс, в котором задействована целая команда разработчиков, сложные современные технологии и даже маркетинговые ходы.
Целью данной курсовой работы будет разработка развивающей ловкость игры - "Змейка".
Постановка задачи
Цель: Создать игру “Змейка”
Законченный вариант игры змейка должен содержать:
“Змейку”, которая может двигаться в ограниченной плоскости. Маневрами “Змейки” должен управлять играющий. “Змейка” должна увеличиваться в размерах при столкновении с “яблоком” и погибать при столкновении с “стеной”, при пересечении самой себя и при выходе за границы плоскости заданной программистом.
“Яблоко” или другой объект, при столкновении с которым “Змейка” “съедает” его(увеличивается в длину в зависимости от условий заданных программистом.
“стена” объект при столкновении с которым змейка погибает.
“змейка” может управляться с помощью клавиш на форме, игра может иметь счетчик набранных очков, таблицу лучших игроков, которая может сохранятся и считываться из файла, а также другие элементы которые увеличивают играбельность игры.
игра компьютерный змейка псевдокод
Описание алгоритма решения в псевдокоде (команды в виде текста на русском языке)
Алгоритм.
1) Описываются переменные и константы
2) Выбор начальных координат случайным образом
3) Прорисовка начального положения
4) Генерация на поле яблок случайным образом
5) Проверка: не появилось ли яблоко на черве.
6) Управление “Змейкой” с клавиатуры.
7) Проверка: “не укусила” ли “змейка сама себя”, если укусила выводится информационное окно (Информационная форма), в противном случае переходим к следующему пункту.
8) Проверка: “не съела” ли “змейка” “яблоко” если съела, то наращиваем ей хвост и переходим к пункту 3), в противном случае см. Следующий пункт.
9) Перерисовка “Змейки”
Функции управления экранными объектами
сообщение |
назначение |
аргументы |
|
GotoXY( ) |
Размещение объекта |
Координаты х,у |
|
Level() |
Вы никогда не выиграете, если не будете бдительны |
Координаты х,у |
|
Move(Game &g) |
Функция которая двигает и рисует |
Game &g |
|
PlusJabloko(Game &g) |
Функция разброски яблок |
Game &g |
|
skorostGame(Game &g) |
Функция старта змейки ее координат и скорости |
Game &g |
|
SetColor(ConsoleColor text, ConsoleColor background) |
Изменение цвета |
ConsoleColor text, ConsoleColor background |
|
STENA_2() |
Функция рисования стены |
Координаты х,у стены |
|
ZmejaStart() |
Старт игры |
GotoXY(10,15) |
|
Main() |
Главная функция |
Описание функций
//Функция разброски яблок
void PlusJabloko(Game &g){}
1.Процесс….int x,y,i;
Int n=g.gaduka.pCount;
2.Заводим цикл do while ,в котором задаем координаты объекта- яблоко
x = rand() % 56+3; //
y = rand() % 19+3; //координаты яблока
3.проверяем объект-яблоко, попало ли оно на объект-змейку.
4. Если попало->break;
5.Если все нормально, запоминаем позицию объекта-яблоко
6.переносим курсор в эту позицию
7.присваиваем цвет объекту-яблоко
8.рисуем объект-яблоко-> символом 4(5,6)
printf("%c", 6); //рисуем яблоко каким хотим символом
// Функция старта змейки ее координат и скорости
void skorostGame(Game &g){}
1.задаем точки-размер объека-змейка
2.когда создали-запоминаем позицию
3.задаем скорость передвижения объекта-змейки
4.рисуем объект-яблоко
//Функция которая двигает и рисует
int Move(Game &g){}
1.вводим координаты головы объекта- змейка
2. вводим координаты хвоста объекта- змейка
3.проверяем следующую точку по направлению.
4.проверяем объект-змейка и объект- стенка, не наехал ли объект-змейка на объект-стенка
-если да-то выход
-если нет, то продолжаем
5.проверяем объект-змейка саму на себя ,не наехали на себя
-если да - то конец
-если нет - то продолжаем
6.при создании объекта- змейка перекомпилируем змейку путем увеличения ее длины на одну точку
7.появляется новый массив, больший на 1-цу
8.при съедании объекта-яблока -закрашиваем его в цвет змейки
9.закрашиваем хвостик змеи в зеленый цвет
10.закрашиваем курсор в белый цвет(голова змейки)
Цвета.
Экранные объекты можно закрашивать разными цветами .В объекте могут присутствовать два цвета- внутренний и цвет контура.
Цвета кодируются цифрами:
enum ConsoleColor
{
Pink = 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
Если значение кода задать большим 7,будет использован остаток от его деления на 7.
При создании экранных объектов по умолчанию происходит следующее:
-информационные рамки располагаются вертикально друг под другом в правой части экрана, остальные объекты размещаются в точке с координатами(0,0)
-все объекты создаются белыми с черным контуром.
Структуры:
struct Zmeja // структура змейка
{COORD *t; //точки
int PCount; //количество яблок
};
enum uprawlenie{LEFT,UP,RIGHT,DOWN}; //направление змейки
struct Game //данные-точности: змейки, яблок, передвижение по X и Y, задержка, направление
{
Zmeja gaduka; //змейка
COORD jabloko; //яблоко
int dx,dy, //передвижение
pause; //задержка
int nap; //направление
};
Сообщения
функция |
координаты |
сообщения |
|
Void Level() |
GotoXY(10,10) GotoXY(10,11) |
<<"Wu nikogda ne wuigraete "<<endl; <<"eslu ne bydete bdutelnu!!!"<<endl; |
|
Void ZmejaStart() |
GotoXY(10,15) |
<<"Soberite 75 Jablok "<<endl; |
|
Void STENA_2() |
GotoXY(20,0) GotoXY(64,2) GotoXY(64,3) GotoXY(64,4) GotoXY(64,5) GotoXY(64,7) GotoXY(64,8) GotoXY(64,9) GotoXY(64,10) GotoXY(64,11) GotoXY(64,13) GotoXY(64,14) GotoXY(64,15) GotoXY(64,16) GotoXY(2,2)-(2,23) GotoXY(61,3)-(61,23) |
<< "Igra \"Zmejka\" Maiko Ekaterini" <<endl; << "Danue:" << endl ; << "Jablok:0" << endl ; << "Dlina:3"<< endl; << "Speed:0" << endl; << "Uprawlenie:" << endl; << "Esc:Wuxod" << endl; << "P:Pause" << endl; <<"S:Start" << endl; <<"L:Level" << endl; <<":Wwerx"<<endl; <<":Wniz"<<endl; <<":Wlewo"<<endl; <<":Wprawo"<<endl; printf("*"); printf("*"); |
|
Void main() |
GotoXY(15,1) GotoXY(15,6) GotoXY(15,7) GotoXY(23,1) |
<< "Wu wuigrali(maladec!!!)" << endl; printf( "\n\t\t\t" ); printf( "\n\t\t\t" ); printf("Wu proigrali(xa-xa-xa!!!)\n\n\t\t\t"); |
Входные параметры:
1.установка позиции курсора х,у;
void GotoXY(int X, int Y)
{
COORD coord = { X, Y };
SetConsoleCursorPosition(hStdOut, coord);
}
2. Структура объекта - змейка
struct Zmeja // структура змейка
{
COORD *t; //точки
int PCount; //количество яблок
};
3. даные-точности: змейки, яблок, передвижение по X и Y
struct Game задержка, направление
{
Zmeja gaduka; //змейка
COORD jabloko; //яблоко
int dx,dy, //передвижение
pause; //задержка
int nap; //направление
};
Выходные параметры:
1.Если выиграл
GotoXY(15,1); cout << "Wu wuigrali(maladec!!!)" << endl;
GotoXY(15,6);printf( "\n\t\t\t" );
GotoXY(15,7);printf( "\n\t\t\t" );
getch();
getch();
getch();
getch();
getch();
return;
2.Если проиграл
case KONEC:
GotoXY(23,1); printf("Wu proigrali(xa-xa-xa!!!)\n\n\t\t\t");
getch();
return;
break;
Исходный код программы С++
Разработка приложения, представляющего собой компьютерную игру «Змейка»
#include <iostream> //стандартная библиотека
#include <time.h> //случайные числа
#include <stdio.h> //для printf
#include <windows.h> // для HANDLE, курсора, цвета
#include <conio.h> //для kbhit
#include <math.h>
#include <io.h>
#include <iostream>
#include <fcntl.h>
#include <string.h>
#include "stdafx.h"
#include <math.h> // Описания математических функций
#include <stdlib.h> // Описания функций malloc и free
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
{
Pink = 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));
}
struct Zmeja // структура змейка
{
COORD *t; //точки
int PCount; //количество яблок
};
enum uprawlenie{LEFT,UP,RIGHT,DOWN}; //направление змейки
struct Game //данные-точности: змейки, яблок, передвижение по X и Y, задержка, направление
{
Zmeja gaduka; //змейка
COORD jabloko; //яблоко
int dx,dy, //передвижение
pause; //задержка
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", 6); //рисуем яблоко каким хотим символом
}
// Функция старта змейки ее координат и скорости
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 <<"Wu nikogda ne wuigraete "<<endl;
GotoXY(10,11);cout <<"eslu ne bydete bdutelnu!!!"<<endl;
}
void ZmejaStart()
{
GotoXY(10,15);cout <<"Soberite 75 Jablok "<<endl;
}
void STENA_2()
{
SetColor(LightBlue , Pink);GotoXY(20,0);cout << "Igra \"Zmejka\" Maiko Ekaterini" <<endl;
GotoXY(64,2);cout << "Danue:" << endl ;
GotoXY(64,3);cout << "Jablok: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 , Pink);
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;
}
void main()
{
hConsole = GetStdHandle(STD_OUTPUT_HANDLE); //получаем дескриптор консоли
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;
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 == 75)
{
GotoXY(15,1); cout << "Wu wuigrali(maladec!!!)" << endl;
GotoXY(15,6);printf( "\n\t\t\t" );
GotoXY(15,7);printf( "\n\t\t\t" );
getch();
getch();
getch();
getch();
getch();
return;
}
break;
case STENA:
case KONEC:
GotoXY(23,1); printf("Wu proigrali(xa-xa-xa!!!)\n\n\t\t\t");
getch();
return;
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;
}
}
}
}
Заключение
В коде задачи указано максимально допустимое количество яблок, поэтому в игре предусмотрено данное ограничение. Ограничено количество игроков, ограничено количество яблок.
Можно добавить озвучивание событий игры, уровень сложности игры и разные настройки параметров игры в коде программы. Это вызвало бы больший интерес к игре.
Используемая в программе структура файла наиболее оптимально подходит для такого рода операций над файлом . Информация о игроке,
указывается в меню справа.
В целом приложение представляет собой почти самый простой вариант игры «Змейка » с набором самых необходимых функций.
Список литературы
1. Начальный курс С и С++.: Учебник. /Б. И. Березин. Москва:"ДИАЛОГ-МИФИ",1999г.
2. Язык программирования С++. : Учебник. /. Страуструп. Киев:"ДиаСофт", 1993 г.
3. Введение в язык С++: Учебник. / Бьярн Страустрап.
- СПб.: 1995.
4. Структуры и алгоритмы обработки данных: Учебник. / Матьяш В.А., Путилов В.А., Фильчаков В.В. , Щёкин С.В. - Апатиты, КФ Петр ГУ, 2000
5. С++ /Дэвис Стефан Р.,4-е издание : Пер. с англ.:- М.: Издательский дом «Вильямс»,2003
6. Основы программирования: Учеб. Для сред. проф. образования /И.Г.Семакин, А.П.Шестаков. - М., 2006.
7. С++ экспресс курс: Учебник. /Лаптев В.В. - СПб.: БХВ- Петербург 2004.
8. С++ учебный курс: Учебник. /Франка П. - СПб.: Питер 2005.
9. МОДЕЛИ И CТРУКТУРЫ ДАННЫХ:/ Учебное пособие/
Д.Далека, А.С. Деревянко, О.Г.Кравец, Л.Е. Тимановская -Харьков: ХГПУ, 2000
10.Высшая математика для экономистов: учебник для студентов вузов/Н.Ш.Кремер,3-е издание.-М.:ЮНИТИ-ДАНА,2006
Размещено на Allbest.ru
...Подобные документы
Разработка и реализация компьютерной игры "Змейка" с помощью языка программирования Pascal и модуля CRT. Составление общего алгоритма программы, выделение ее функциональных частей. Разработка тестовых примеров. Использование типизированных файлов.
курсовая работа [2,1 M], добавлен 23.02.2011Введение в объектно-ориентированное программирование. Постановка задачи. Описание алгоритма решения в псевдокоде (команды в виде текста на русском языке). Исходный текст программы на С. Тестирование программы. Модификация программы. Полиморфизм.
курсовая работа [294,0 K], добавлен 08.09.2008Изучение текстового режима языка программирования Turbo Pascal. Написание игры "Змейка" с помощью средств, процедур и функций языка программирование Turbo Pascal. Структурное и функциональное описание разработки. Листинг и общие примеры работы программы.
контрольная работа [286,3 K], добавлен 10.04.2011Знакомство с основными особенностями развития игровой индустрии. Создание компьютерных игр как одна из прикладных сфер программирования. Общая характеристика набора методов класса Area. Рассмотрение способов создания игры "Змейка", анализ этапов.
курсовая работа [799,4 K], добавлен 13.06.2013Основные понятия абстракции, инкапсуляции, наследования и полиморфизма. Основы проектирования игр. Работа с графическими библиотеками. Создание дружественного пользовательского интерфейса. Разработка игры "Змейка", краткое описание классов, алгоритмы.
курсовая работа [757,2 K], добавлен 19.06.2012Особенности программирования аркадных игр в среде Python. Краткая характеристика языка программирования Python, его особенности и синтаксис. Описание компьютерной игры "Танчики" - правила игры, пояснение ключевых строк кода. Демонстрация работы программы.
курсовая работа [160,3 K], добавлен 03.12.2014Общие сведения и существующие среды реализации компьютерной игры "Лабиринт". Разработка алгоритмов в виде блок-схемы, принципы программной реализации игры. Особенности тестирования разработанного программного продукта. Аспекты эксплуатации продукта.
курсовая работа [1,4 M], добавлен 18.01.2017Разработка и создание игры "Змейка". Использование динамически-активных принципов языка Java. Графические объекты программы. Описание игры, правила, теоретические сведения. Классы приложения. Типы данных. Реализация. Метод. Объект. Блок-схема игры.
курсовая работа [12,4 K], добавлен 18.06.2008Понятие и эволюция игр, анализ их различных жанров и существующих аналогов. Выбор программных средств для реализации игры, написание сюжета и выбор среды разработки игры. Алгоритмы для придания гибкости обучающей игре. Описание программных модулей.
дипломная работа [2,7 M], добавлен 27.10.2017Особенности ассемблера - машинно-ориентированного языка низкого уровня, применяемого для создания простых приложений. Связывание программ на разных языках. Типичный формат записи команд, инструкции и директивы языка ассемблера. Разработка игры "Змейка".
курсовая работа [215,0 K], добавлен 20.07.2014Обзор методов и средств реализации поставленной задачи. Описание компьютерной игры "Японские кроссворды". Обоснование инструментария разработки программного продукта. Алгоритмический анализ задачи. Графический интерфейс и лингвистическое обеспечение.
курсовая работа [725,4 K], добавлен 27.08.2013Особенности разработки компьютерной игры, в которой проводится чемпионат по волейболу. Список переменных и типов данных. Разработка текстового и графического алгоритма. Разбор основных этапов игры на примере. Основные положения руководства пользователя.
курсовая работа [976,9 K], добавлен 09.06.2016Приемы практического использования объектно-ориентированного подхода в создании законченного программного продукта. Разработка кроссплатформенной компьютерной игры "Морской бой". Принципы "хорошего стиля программирования C++/Qt". Описание классов игры.
курсовая работа [2,7 M], добавлен 12.08.2014Выбор программных средств для реализации игры "Угадай число". Разработка функционально-структурной схемы для написания текста программы. Изучение сути вариации алгоритма полного перебора с определённой эвристикой. Варианты компьютерной реализации игры.
контрольная работа [337,3 K], добавлен 19.06.2012Ознакомление с понятием компьютерных игр и их основными жанрами. Выбор сюжета игры и среды программирования. Отрисовка графики; проведение функционального и интерфейсного тестирования программы. Анализ условий труда в данной компьютерной лаборатории.
дипломная работа [3,2 M], добавлен 13.07.2014Разработка компьютерной игры "Эволюция" с помощью игрового движка Unit. Сравнение критериев игры-аналога и разрабатываемой игры. Разработка графического интерфейса пользователя. Настройки камеры в редакторе Unity. Структура файла сохранения игры.
дипломная работа [3,6 M], добавлен 11.02.2017Алгоритмическое представление и описание правил игры "Эволюция". Построение диаграммы прецедентов. Разработка графического интерфейса пользователя. Реализация интерфейса в среде Unity. Структура файла сохранения игры. Проектирование поведения компьютера.
дипломная работа [3,3 M], добавлен 18.02.2017Технические и пользовательские характеристики игры, требования к программному обеспечению и среде разработки C#. Составление блок-схемы алгоритма, uml-диаграммы и текста программы, тестирование корректности компьютерного кода и результатов его работы.
курсовая работа [1,8 M], добавлен 05.03.2013Методика и основные этапы разработки стратегической игры, ее элементы и принцип работы программы. Порядок построения информационной модели. Диаграмма потоков данных и действий. Выбор языка программирования и его обоснование. Критерии качества среды.
курсовая работа [3,5 M], добавлен 11.12.2012Особенности разработки дизайна и элементов окружающей среды для компьютерной игры в жанре RPG. Создание концепт-артов вспомогательных персонажей и ландшафтов, которые соответствуют игровому миру. Расчет трудоемкости и затрат на разработку дизайн-проекта.
дипломная работа [5,7 M], добавлен 18.08.2014