Создание игры "Змейка"

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 13.06.2013
Размер файла 799,4 K

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

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

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

Введение

игровой индустрия программирование

С развитием цифровых технологий компьютеры все больше вливаются в жизнь человека. Если раньше ЭВМ использовались исключительно для сложных математических вычислений, то сегодня сфера их применения существенно расширилась. Компьютерные игры - одно из наиболее массовых применений электронных вычислительных машин.

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

Современные игры требуют достаточно большой производительности от компьютера, и не каждая офисная машина в силах воспроизводить их. Однако для отдыха от монотонной работы зачастую достаточно простой, не требовательной к технике, игры. Именно такой разработке посвящен данный курсовой проект - игра «Змейка».

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

1. Анализ литературных источников

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

В качестве анализируемого источника была найдена реализация подобной игры на языке Delphi, которая доступна по адресу http://www.programmersclub.ru/gamedev-на-delphi-Делаем-змейку.

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

Рис. 1

Автор выбрал аналогичную основу создания игры: используется таймер, который обновляет игровое поле с определенным интервалом. В качестве структуры описывающей элементы поля используется класс vect2D, который содержит два поля: x и y. Управление «Змейкой» происходит при помощи метода Drive. А перерисовка поля и проверка столкновения реализуется в методе Update. При съедании фрукта длина «Змеи» увеличивается на один элемент.

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

1. Инициализация - настройка главного окна, загрузка игровых ресурсов.

2. Обработка - происходит взаимодействие всех объектов друг с другом. Данная секция выполняется постоянно, в отличие от инициализации и деинициализации.

3. Деинициализация - выполняется при завершении работы программы, происходит очищение использованное памяти.

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

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

Программа должна иметь два состояния: пауза и процесс игры. Смена состояний будет производиться нажатием клавиши «пробел». При первом переходе в состояние игры должно происходить заполнения игрового поля элементами: ограждениями, фруктами, травой, частями змейки. Далее с каждым обновлением поля, элементы будут изменяться, а также будет происходить пересчет времени обновления поля. Процесс игры будет представлять собой управление змейкой при помощи клавиатуры. Если змейка натыкается на ограждение или на саму себя, то игра заканчивается. Если же она съедает фрукт, то происходит переход на следующий уровень, который сопровождается увеличением длины змеи и уменьшением интервала обновления поля (увеличивается скорость перемещения). Игра продолжается до 15 уровня. В заголовке окна программы будут отображаться игровые данные: текущий уровень и длина «змейки».

3. Алгоритмическое конструирование

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

Общая схема работы программы представлена на Рисунке 2. Сначала создается игровое поле, после чего создается таймер, который это поле обновляет. При каждом обновлении интервал таймера изменяется.

Рис. 2

Рисунок 3 демонстрирует алгоритм обновления игрового поля. При первом обновление поле заполняется элементами, далее идет проверка на состояние паузы. Если состояние отлично от паузы, то происходит перемещение «Змейки» и перерисовка игрового поля, иначе выводится экран паузы.

Рис. 3

На Рисунке 4 показана схема перемещения «Змейки». Первым делом проверяется направление змейки. Если оно обратно предыдущему, то изменения отменяются. Далее идет проверка на пересечение змейки ограды и фруктов. Если «Змейка» натолкнулась на ограду, то игра заканчивается. Если же змейка съела фрукт, то происходит переход на следующий уровень.

Рис. 4

Рис. 5

4. Программное конструирование

4.1 UML

В ходе работы были сконструированы следующие классы: Cordinate, Area. Cordinate представляет собой структуру координат игрового поля. Area содержит набор полей и методов для взаимодействия с игровым полем. Их связи отображены на Рисунке 5.

Рис.

4.2 Таблицы полей и методов

4.2.1 Таблицы полей и методов класса Cordinate

Таблица 1 содержит набор полей класса Cordinate, который используется в роли структуры элементов игрового поля.

Таблица 1 - таблица полей класса Cordinate.

Поле

Значение

Описание

x

Число типа integer

Координата игрового поля, характеризующая смещение по горизонтали

y

Число типа integer

Координата игрового поля, характеризующая смещение по вертикали

4.2.2 Таблицы полей и методов класса Area

Таблица 2 описывает набор методов класса Area, которые предназначены для взаимодействия с игровым полем.

Метод

Аргументы

Воз. Знач.

Описание

SetSnakeDirection

Direc. - уст. направ.

Устан. направление змейки

Update

Обраб. внесенные изменения и обновляет игровое поле

GetTimeUpdate

Возв. число типа integer

Выч. интервал обновления таймера в зав. от текущего уровня

KeyDown

Key - ном. наж. клав.

Обраб. нажатия клавиш клав.

Таблица 3 содержит описание полей класса Area, которые описывают характеристики игрового поля.

Таблица 3 - таблица полей класса Area.

Поле

Значение

Описание

SnakeSpeed

Число типа Byte

Характеризует скорость передвижения «Змейки»

GamePause

Тип: Boolean

Опис. сост. игров. поля: true - пауза, false - игра.

SnakeDirection

Число типа Byte

Опис. направ. змейки: 0 - вверх, 1 - вправо, 2 - вниз, 3 - влево.

5. Контрольный пример

На рисунке 6 представлено начальное состояние игры.

Рис. 6

Рисунок 7 демонстрирует игровой процесс, который заключается в управлении передвижением «Змейки» по полю.

Рис. 7

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

1.Электронный ресурс - Свободная энциклопедия [http://ru.wikipedia.org]

2.Электронный ресурс - Система программирования PascalABC.NET [http://pascalabc.net]

Приложение А

Код программы

USES GraphABC, Timers, System.Collections.Generic;

CONST

WIDTH_AREA = 20; // Ширина поля (Элементов, >= 10)

HEIGHT_AREA = 18; // Высота поля (Элементов, >= 10)

SIZE_UNIT = 24; // Размер элемента (Px, >= 3)

LENGTH_SNAKE = 5; //Длина змеи (Элементов, >= 2)

MAX_LEVEL = 15; //Количество уровней (от 1 до 40)

TITLE_WINDOW = 'Змейка ';

TYPE

Cordinate = record

x, y: integer;

constructor (X: integer; Y: integer); begin

Self.x := X;

Self.y := Y;

end;

end;

Area = class

units: array[,] of byte; // 0 - трава; 1 - ограждение; 2 - змея; 3 - фрукт

direction: byte := 0; // 0 - вверх; 1 - вправо; 2 - вниз; 3 - влево

oldDirection: byte := 0;

speed: byte := 1;

pause: boolean := true;

firstStart: boolean := true;

textPause: string := 'Для начала игры нажмите пробел.';

snakeCordiantes := new List<Cordinate>; // Змея

lineCordinates := new List<Cordinate>; // Линии внутри змейки

freeCordinates := new List<Cordinate>; // Свободные элементы (Трава)

constructor(); begin

OnKeyDown := KeyDown;

end;

// Ставим фрукт в свободный элемент

procedure SetFruct(first: boolean := false); begin

var fructCordiante := freeCordinates.item[Random(freeCordinates.Count)];

units[fructCordiante.x, fructCordiante.y] := 3;

if (not first) then exit;

for var i := 0 to (WIDTH_AREA + HEIGHT_AREA) div 20 do begin

freeCordinates.Remove(fructCordiante);

fructCordiante := freeCordinates.item[Random(freeCordinates.Count)];

units[fructCordiante.x, fructCordiante.y] := 3;

end;

end;

procedure ReStart(win: boolean := false); begin

if (not win) then

textPause := 'Вы проиграли, для повторной игры нажмите пробел.'

else

textPause := 'Вы выиграли, для повторной игры нажмите пробел.';

pause := true; speed := 1; firstStart := true; freeCordinates.Clear();

direction := 0; oldDirection := 0;

end;

//Передвижение змейки

procedure StepSnake(); begin

// отменяем обратное направление

if ((oldDirection = 1) and (direction = 3)) or

((oldDirection = 0) and (direction = 2)) or

((oldDirection = 2) and (direction = 0)) or

((oldDirection = 3) and (direction = 1)) then direction := oldDirection;

oldDirection := direction;

// получаем следующий элемент

var nextUnit: cordinate;

var lastCrdinate := snakeCordiantes.Last();

with lastCrdinate do begin

if oldDirection = 0 then

nextUnit := new Cordinate(x, y - 1)

else if oldDirection = 1 then

nextUnit := new Cordinate(x + 1, y)

else if oldDirection = 2 then

nextUnit := new Cordinate(x, y + 1)

else if oldDirection = 3 then

nextUnit := new Cordinate(x - 1, y);

end;

//проверяем столкновение

with nextUnit do begin

if (units[x, y] = 1) or (units[x, y] = 2) then begin // врезались

ReStart();

exit;

end else if units[nextUnit.x, nextUnit.y] = 3 then begin //съели фрукт

if speed < MAX_LEVEL then

speed += 1

else begin

ReStart(true);

exit;

end;

SetFruct();

end else begin // если по травке удаляем последний элемент

units[snakeCordiantes.Item[0].x, snakeCordiantes.Item[0].y] := 0;

snakeCordiantes.RemoveAt(0);

end;

end;///with

// Добавляем элемент к змейке

var oldSnakeFirstCordinate := snakeCordiantes.Last();

var newSnakeFirstCordinate: Cordinate;

with oldSnakeFirstCordinate do begin

case direction of

0: begin

newSnakeFirstCordinate.x := x;

newSnakeFirstCordinate.y := y - 1;

end;

1: begin

newSnakeFirstCordinate.x := x + 1;

newSnakeFirstCordinate.y := y;

end;

2: begin

newSnakeFirstCordinate.x := x;

newSnakeFirstCordinate.y := y + 1;

end;

3: begin

newSnakeFirstCordinate.x := x - 1;

newSnakeFirstCordinate.y := y;

end;

end; /// case

end; /// with

// Ложим змейку

snakeCordiantes.Add(newSnakeFirstCordinate);

for var i := 0 to snakeCordiantes.Count - 1 do begin

units[snakeCordiantes.Item[i].x, snakeCordiantes.Item[i].y] := 2;

freeCordinates.Remove(snakeCordiantes.Item[i]);

lineCordinates.Add(new Cordinate(snakeCordiantes.Item[i].x * SIZE_UNIT + (SIZE_UNIT div 2), snakeCordiantes.Item[i].y * SIZE_UNIT + (SIZE_UNIT div 2)));

end;

end;/// StepSnake

// Заполнение поля

procedure Fill(); begin

SetLength(units, WIDTH_AREA, HEIGHT_AREA);

for var i := 0 to WIDTH_AREA - 1 do begin

for var j := 0 to HEIGHT_AREA - 1 do begin

if (i = 0) or (i = WIDTH_AREA - 1) or (j = 0) or (j = HEIGHT_AREA - 1)

then {Ограждения} units[i, j] := 1 else begin {Трава}

units[i, j] := 0;

freeCordinates.Add(new Cordinate(i, j));

end;

end;

end;

snakeCordiantes.Clear();

//Ложим змейку в центре

for var i := 0 to LENGTH_SNAKE - 1 do begin

snakeCordiantes.Add(new Cordinate(WIDTH_AREA div 2,

HEIGHT_AREA div 2 - i));

units[snakeCordiantes.Item[i].x, snakeCordiantes.Item[i].y] := 2;

freeCordinates.Remove(snakeCordiantes.Item[i]);

end;

SetFruct(true);

end; /// fill

PUBLIC

property SnakeSpeed: byte read speed;

property GamePause: boolean read pause write pause;

procedure SetSnakeDirection(direction: byte); begin

self.direction := direction;

end;

property SnakeDirection: byte read direction write SetSnakeDirection;

// Обновление поля

procedure Update(); begin

if (firstStart) then begin

Fill(); direction := 0; firstStart := false;

end;

if (pause) then begin

Window.Clear(); SetBrushColor(color.White);

TextOut(Window.Width div 2 - textPause.Length * 3,

Window.Height div 2 - 10, textPause);

ReDraw; Exit

end else

textPause := 'Для продолжения нажмите пробел.';

StepSnake();

//Перерисовываем

Window.Clear(Color.Green);

for var i := 0 to WIDTH_AREA - 1 do begin

for var j := 0 to HEIGHT_AREA - 1 do begin

case units[i, j] of

0: SetBrushColor(Color.Green); // трава

1, 2: SetBrushColor(Color.Black); // ограждение, змея

3: SetBrushColor(Color.Red); // фрукт

end;

FillRect(i * SIZE_UNIT, j * SIZE_UNIT, i * SIZE_UNIT + SIZE_UNIT,

j * SIZE_UNIT + SIZE_UNIT);

// дорисовываем детали змеи

if (units[i, j] = 2) then begin

SetBrushColor(Color.Yellow);

FillRect(i * SIZE_UNIT + 1, j * SIZE_UNIT + 1,

i * SIZE_UNIT + SIZE_UNIT - 1, j * SIZE_UNIT + SIZE_UNIT - 1);

end;

// дорисовываем "голову"

SetBrushColor(Color.DarkOrange);

FillRect(

lineCordinates.item[lineCordinates.count - 1].x - SIZE_UNIT div 2 + 1,

lineCordinates.item[lineCordinates.count - 1].y - SIZE_UNIT div 2 + 1,

lineCordinates.item[lineCordinates.count - 1].x + SIZE_UNIT div 2 - 1,

lineCordinates.item[lineCordinates.count - 1].y + SIZE_UNIT div 2 - 1

);

for var l := 1 to lineCordinates.count - 1 do begin

Line(lineCordinates.item[l - 1].x, lineCordinates.item[l - 1].y,

lineCordinates.item[l].x, lineCordinates.item[l].y);

end;///for

end;///for

end;///for

lineCordinates.Clear();

Window.Title := TITLE_WINDOW + ' [Уровень: ' + speed.ToString +

' из ' + MAX_LEVEL.ToString() + ', Длина змеи: ' +

snakeCordiantes.Count.ToString + ']';

ReDraw;

end; /// update

function GetTimeUpdate(): integer; begin

result := 555 - Round(ln(Speed + 1) * 100);

end;

procedure KeyDown(key: integer); begin

case key of

VK_Left, VK_A: SnakeDirection := 3;

VK_Down, VK_S: SnakeDirection := 2;

VK_Right, VK_D: SnakeDirection := 1;

VK_Up, VK_W: SnakeDirection := 0;

VK_Escape: Halt();

VK_Space: pause := not pause; // Пауза

end;///case

end;

end; /// area

VAR

area_m: Area; timer_m: Timer;

procedure TimerProc; begin

area_m.Update();

timer_m.Interval := area_m.GetTimeUpdate();

end;

BEGIN

SetWindowSize(WIDTH_AREA * SIZE_UNIT, HEIGHT_AREA * SIZE_UNIT); CenterWindow;

Window.Title := TITLE_WINDOW; Window.IsFixedSize := true; LockDrawing;

SetPenColor(Color.Blue);

area_m := new Area;

timer_m := new Timer(area_m.GetTimeUpdate(), TimerProc);

timer_m.Start();

END.

Приложение Б

Техническое задание по ГОСТ 19.201-78 ЕСПД

Б1. Введение

Наименование программы

Наименование - «Игра «Змейка»«.

Краткая характеристика области применения

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

Б2. Основания для разработки

Разработка проводится на основании:

задания на курсовой проект по специальности 231000 «Программная инженерия» факультета «Информатика и вычислительная техника» Донского государственного технического университета;

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

Тема курсового проекта: «Программная реализация игры «Змейка»«.

Б3. Назначение разработки

Б3.1. Функциональное назначение

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

Б3.2. Эксплуатационное назначение

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

Б4. Требования к программе или программному изделию

Б4.1. Требования к функциональным характеристикам

«Игра «Змейка»« должна обеспечивать возможность выполнения перечисленных ниже функций:

отображение на экране игрового поля;

обновление игрового поля через определенный промежуток времени;

смена состояний игрового поля при помощи нажатия клавиши «Пробел»;

возможность изменения направления «Змейки» при помощи клавиш управления курсором;

отображение игровой информации в заголовке окна;

отслеживание столкновения «Змейки» с ограждениями;

отслеживание съедания «Змейкой» фруктов и последующего увеличения длины змейки и скорость ее движения.

Б4.1.1. Входные данные системы

Коды нажимаемых клавиш.

Б4.1.2. Выходные данные системы

Графическая информация, выводимая на экран.

Б.4.2. Требования к надежности

Б.4.2.1. Требования к обеспечению надежного (устойчивого) функционирования программы

Надежное (устойчивое) функционирование программы должно быть обеспечено выполнением Заказчиком совокупности организационно-технических мероприятий, перечень которых приведен ниже:

организацией бесперебойного питания технических средств;

регулярным выполнением рекомендаций Министерства труда и социального развития РФ, изложенных в Постановлении от 23 июля 1998 г. «Об утверждении межотраслевых типовых норм времени на работы по сервисному обслуживанию ПЭВМ и оргтехники и сопровождению программных средств»;

регулярным выполнением требований ГОСТ 51188-98. Защита информации. Испытания программных средства на наличие компьютерных вирусов.

Б4.2.2. Время восстановления после отказа

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

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

Б4.2.3. Отказы из-за некорректных действии оператора

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

Б4.3. Условия эксплуатации

Б4.3.1. Климатические условия эксплуатации

Климатические условия эксплуатации, при которых должны обеспечиваться заданные характеристики, должны удовлетворять требованиям, предъявляемым к техническим средствам в части условий их эксплуатации.

Б4.3.2. Требования к видам обслуживания

Программное средство не требует проведения каких-либо видов обслуживания.

Б4.3.3. Требования к численности и квалификации персонала

Минимальное количество персонала, требуемого для работы программного средства, должно составлять не менее 1 штатной единицы - конечный пользователь программы - оператор.

Конечный пользователь программы (оператор) должен обладать практическими навыками работы с графическим пользовательским интерфейсом операционной системы.

Б4.4. Требования к составу и параметрам технических средств

В состав технических средств должен входить IBM-совместимый персональный компьютер (ПЭВМ), включающий в себя:

процессор Pentium-4 с тактовой частотой не менее 1.2 ГГц;

оперативную память объемом не менее 256 Мб;

жесткий диск со скорость не менее 5400 об/мин и свободным местом не менее 1Гб;

SVGA-совместимый видеоадаптер;

монитор с разрешением не менее 1024x768 пикселей;

клавиатуру;

мышь.

Б4.5. Требования к информационной и программной совместимости

Б4.5.1. Требования к информационным структурам и методам решения

Требования к информационным структурам на входе и выходе, а также к методам решения не предъявляются.

Б4.5.2. Требования к исходным кодам и языкам программирования

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

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

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

Б4.5.3. Требования к каркасам приложений

Для разработки графического пользовательского интерфейса и работы с хранилищем данных следует использовать каркас бизнес-приложений Developer Express .NET 8.1.

Б4.5.4. Требования к программным средствам, используемым программой

Программное средство должно эксплуатироваться в ОС Microsoft Windows XP или выше, с установленной средой исполнения .NET 4.0 или выше и библиотеками Developer Express .NET 8.1 времени исполнения.

Б4.6. Требования к маркировке и упаковке

Программа поставляется в виде программного изделия - на дистрибутивном (внешнем оптическом) носителе (компакт-диске).

Б4.6.1. Требования к маркировке

Требования к маркировке программного изделия не предъявляются.

Б4.6.2. Требования к упаковке

Упаковка программного изделия должна осуществляться согласно требованиям предприятия-изготовителя носителя информации.

Б4.7. Требования к транспортированию и хранению

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

При транспортировании и хранении программного изделия должна быть предусмотрена защита от попадания пыли и атмосферных осадков. Не допускается кантование программного изделия.

Климатические условия транспортирования должны соответствовать требованиям, предъявляемым предприятием-изготовителем к носителю информации с программным изделием.

Б4.8. Специальные требования

Специальные требования отсутствуют.

Б5. Требования к программной документации

Программная документация должна содержать:

лист задания;

алгоритмы решения;

техническое задание (по ГОСТ 19.201-78);

Б6. Технико-экономические показатели

Ориентировочная экономическая эффективность не рассчитываются.

Б7. Стадии и этапы разработки

Разработка программного средства включает в себя следующие этапы:

анализ требований;

разработка технического задания;

проектирование;

конструирование;

испытания программы.

На стадии внедрения должен быть выполнен этап разработки - подготовка и передача программы.

Б8. Порядок контроля и приемки

Порядок и контроль приёмки определяются преподавателем кафедры «ПОВТ и АС» и основаны на демонстрации знаний технологии и умении создавать программные средства для различных предметных областей. Главным требованием к приему является наличие корректно работающей программы и отчета, представленного в печатном виде.

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


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

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

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

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

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

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

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

  • Рассмотрение основных этапов создания приложения "Записная книжка", основное предназначение. Анализ способов выбора среды программирования. Знакомство с элементом управления Data Grid View. Общая характеристика методов конструкции языка программирования.

    контрольная работа [1002,4 K], добавлен 21.06.2014

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

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

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

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

  • Знакомство с основными принципами построения Web-сайтов. Рассмотрение этапов создания простой страницы HTML. Анализ способов форматирования сайтов. Общая характеристика видов списков: маркированные, нумерованные. Особенности таблиц каскадных стилей.

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

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