Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364150
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62792)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21320)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21697)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8694)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3463)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20645)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Реферат: Создание игры

Название: Создание игры
Раздел: Рефераты по информатике, программированию
Тип: реферат Добавлен 21:29:11 29 июня 2005 Похожие работы
Просмотров: 126 Комментариев: 2 Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать

Министерство образования РФ.

ИжГТУ.

Кафедра Радиотехники.

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

по информатике.

Тема: ”Создание игры”.

Проверил:

Старший преподаватель

Сидорина В.А.

Выполнил:

Студент гр.2-29-1

Скворцов Я.А.

Ижевск.2003.

Содержание Стр.

Введение--------------------------------------------------------------------------------3

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

2 Алгоритмы и блок-схемы---------------------------------------------------------5

3 Программа на языке Pascal с комментариями--------------------------------6

4 Руководство пользователя для работы в программе-----------------------16

Заключение----------------------------------------------------------------------------17

Список использованной литературы---------------------------------------------18

ВВЕДЕНИЕ:

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

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

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

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

а) Выбор, обоснование и изложение метода решения задачи.

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

С динамической памятью в данном случае очень удобно организовать одновременное перемещение динамических объектов по экрану с минимальным мерцанием экрана.

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

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

б) Построение алгоритма задачи.

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

Далее в зависимости от нажатых клавиш динамические объекты двигаются так или иначе.

в) Создание и отладка программы.

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

г) Оформление пояснительной записки и защита курсового проекта.

2 Блок-схема.

3 Программа на языке Pascal c комментариями.

program jim;

uses crt,graph;

label 1,3;

var a:char;

b:integer;

procedure beep;{Выдача звука}

begin

sound(300);delay(6000);nosound;delay(700);

end;

procedure zemlya;{прорисовка нижней части экрана}

begin

setcolor(3);

line(0,55,640,55);

line(0,479,0,430);

line(0,430,639,430);

line(639,430,639,479);

line(639,479,0,479);

setfillstyle(7,5);

floodfill(10,470,3);

end;

procedure PVO;{Прорисовка средства ПВО}

begin

setcolor(6);

line(5,37,45,37);line(45,37,47,39);

line(47,40,37,50);line(37,50,7,50);

line(7,50,3,39);line(3,38,5,37);

circle(15,43,6);circle(30,43,6);

circle(6,39,2);circle(44,39,2);

setfillstyle(1,6);

floodfill(41,43,6);floodfill(22,49,6);

floodfill(7,43,6);floodfill(10,39,6);

setcolor(2);

line(3,39,3,34);line(3,34,20,34);

line(21,34,21,23);line(21,23,33,23);

line(33,23,47,36);line(47,36,47,36);

line(47,36,3,36);

line(36,26,29,26);line(29,27,30,30);

line(31,31,42,31);

setfillstyle(1,2);floodfill(26,32,2);

setcolor(9);

line(8,33,8,23);line(9,24,9,13);

line(9,13,11,12);line(11,12,11,9);line(11,12,13,13);

line(13,13,13,24);line(14,23,14,33);

line(8,28,3,33);line(3,33,19,33);

line(19,33,14,28);

setfillstyle(1,9);floodfill(11,28,9);

line(21,24,24,24); line(21,25,24,25);

setcolor(4);line(21,26,25,26);line(21,27,25,27);

setcolor(15);line(21,28,26,28);line(21,29,26,29);

end;

procedure NLO; {прорисовка летающей тарелки}

var l:integer;

begin randomize;l:=random(256);

setcolor(l);

line(9,8,7,8);line(7,9,5,9);

line(5,10,3,10);line(3,11,1,11);

line(1,11,1,13);line(2,14,4,14);

line(3,15,5,15); line(5,16,8,16);

line(7,17,10,17);line(10,18,16,18);

line(16,19,35,19);line(35,18,41,18);

line(41,17,44,17);line(44,16,46,16);

line(46,15,48,15);line(48,14,49,14);

line(49,14,49,11);line(49,11,48,11);

line(48,10,46,10);line(46,9,44,9);

line(44,8,41,8);line(41,7,41,9);

line(41,9,40,9);line(40,10,37,10);

line(37,11,33,11);line(33,12,17,12);

line(17,11,13,11);line(13,10,10,10);

line(10,9,9,8);

setfillstyle(1,l);floodfill(24,15,l);

putpixel(31,16,0);putpixel(42,12,0);

putpixel(18,16,0);putpixel(7,13,0);

setcolor(11);

line(18,11,32,11);line(32,10,36,10);

line(36,9,39,9);line(40,8,40,5);

line(39,4,36,4);line(36,3,32,3);

line(32,2,18,2);line(18,3,14,3);

line(14,4,11,4);line(10,5,10,8);

line(11,9,14,9);line(14,10,18,10);

setfillstyle(1,11);floodfill(25,7,11);

end;

procedure pulka;{Прорисовка снаряда}

begin

setcolor(5);

line(2,6,2,3);line(3,6,3,0);line(4,6,4,3);

setcolor(13);

line(3,8,3,7);

setcolor(14);

line(1,5,1,7);line(2,7,2,9);

putpixel(3,9,14);line(4,7,4,9);line(5,5,5,7);

end;

procedure gameover(b,v:integer);{предписания при выигрыше одной

var u,o:integer; из сторон}

i:^integer;

siz:word;

begin

siz:=imagesize(0,100,1,100);

getmem(i,siz);

getimage(0,100,1,100,i^);

if v>500 then begin

outtextxy(300,240,'Y');beep;

outtextxy(308,240,'o');beep;

outtextxy(316,240,'u');beep;

outtextxy(324,240,'_');beep;

outtextxy(332,240,'W');beep;

outtextxy(340,240,'I');beep;

outtextxy(348,240,'N');beep;

end;

if b>500 then begin

outtextxy(300,240,'G');beep;

outtextxy(308,240,'a');beep;

outtextxy(316,240,'m');beep;

outtextxy(324,240,'e');beep;

outtextxy(332,240,'_');beep;

outtextxy(340,240,'O');beep;

outtextxy(348,240,'v');beep;

outtextxy(356,240,'e');beep;

outtextxy(364,240,'r');beep;

delay(45000);outtextxy(330,260,':');beep;

outtextxy(338,260,'-');beep;

outtextxy(346,260,'>');beep;

end;

delay(64500);delay(64500);

delay(64500);

for u:=0 to 640 do

for o:=0 to 480 do begin

putimage(u,o,i^,copyput);

end;

end;

procedure jim; {Непосредственно игра}

label 2,3;

var i,j,x,y,m,n,v,b:integer;

key:boolean;

s,ss,s1,s2,s3:word;p,pp,p1,p2,p3:pointer;{рр-пустой квадрат;р-ПВО...;р1-пулька}

begin i:=9;j:=2;initgraph(i,j,'');

3: ss:=imagesize(0,430,50,480);a:='y';

getmem(pp,ss);

getimage(0,430,50,480,pp^);

s:=imagesize(0,0,50,50);

getmem(p,s);

PVO;

getimage(0,0,50,50,p^);

putimage(0,0,pp^,copyput);

s1:=imagesize(0,0,5,10);

getmem(p1,s1);

pulka;

getimage(0,0,5,10,p1^);

putimage(0,0,pp^,copyput);

s2:=imagesize(0,0,5,10);{р2-маленький квадратик пульки}

getmem(p2,s2);

getimage(0,0,5,10,p2^);

s3:=imagesize(0,0,50,20);

getmem(p3,s3);

NLO;

getimage(0,0,50,20,p3^); putimage(0,0,pp^,copyput);

zemlya;

x:=200;y:=379;putimage(x,y,p^,copyput);

v:=0;b:=0;delay(45000);delay(45000);

repeat {Начало самого процесса игры}

for n:=1 to 1770 do begin

putimage(round(n/3),60,p3^,copyput);

if n>1760 then begin

putimage(round(n/3),60,pp^,copyput);

sound(300);delay(100);nosound;

end;

key:=keypressed;

if key=false then goto 2;

a:=readkey;

if a=chr(77) then begin

x:=x+3;

if x>580 then begin

putimage(x,y,pp^,copyput);

x:=10;

end;

putimage(x,y,p^,copyput);

end;

if a=chr(75) then begin

x:=x-3;

if x<10 then begin

putimage(x,y,pp^,copyput);

x:=580;

end;

putimage(x,y,p^,copyput);

end;

if a=chr(32) then begin for m:=y-2 downto 56 do begin

putimage(x+8,m,p1^,copyput);

delay(5);

end;

if m<90 then

if round(n/3)>(x-50) then

if round(n/3)<(x+10) then begin

sound(800);delay(2000);

nosound;putimage(round(n/3),60,pp^,copyput);

putimage(v,10,p1^,copyput);n:=1;

v:=v+15;if v>500 then begin gameover(b,v);goto 3;end;end;

putimage(x+8,56,p2^,copyput);

end;

2: end;putimage(b,24,p3^,copyput);b:=b+50;

if b>500 then begin gameover(b,v);goto 3;end;

if a=chr(113) then begin

v:=550;gameover(b,v);goto 3;

end;

until a=chr(27);

end;

begin{Основная программа}

1: clrscr;

gotoxy(30,10);

write('Введение');

gotoxy(30,11);

write('Постановка задачи');

gotoxy(30,12);

write('Математические методы...');

gotoxy(30,13);

write('Описание данных');

gotoxy(30,14);

write('Алгоритмы и блок-схемы');

gotoxy(30,15);

write('ПРОГРАММА');

gotoxy(30,16);

write('Текстовые примеры');

gotoxy(30,17);

write('Руководство пользователю');

gotoxy(30,18);

write('Заключение');

gotoxy(30,19);

write('Список литературы');{Это всё менюшка}

gotoxy(26,10);

write('>>>');

gotoxy(25,10);

repeat

a:=readkey;

if a=chr(80) then begin{движение курсора вниз}

b:=wherey;

gotoxy(26,b);

write(' ');

if b>=19 then b:=9;

gotoxy(26,b+1);

write('>>>');

gotoxy(25,b+1);

sound(3000);

delay(1000);

nosound;

end;

if a=chr(72) then begin{движение курсора вверх}

b:=wherey;

gotoxy(26,b);

write(' ');

if b<=10 then b:=20;

gotoxy(26,b-1);

write('>>>');

gotoxy(25,b-1);

sound(4000);

delay(1000);

nosound;

end;

if a=chr(13) then begin {Опрос клавиши ENTER}

b:=wherey;

if b=19 then begin {Список литературы}

sound(3000);

delay(1000);

nosound;

clrscr;

gotoxy(30,b);

write('Книжка по Турбо-Паскалю');

repeat

a:=readkey;

until a=chr(13);

sound(4000);

delay(1000);

nosound;

goto 1;

end;

if b=10 then begin {Введение}

sound(3000);

delay(1000);

nosound;

clrscr;

gotoxy(30,b);

writeln('Основной целью данного курсового проекта');

gotoxy(30,b+1);

writeln('является закрепление и демонстрация знаний,');

gotoxy(30,b+2);

writeln('полученых при изучении курса информатики');

repeat

a:=readkey;

until a=chr(13);

sound(4000);

delay(1000);

nosound;

goto 1;

end;

if b=11 then begin {Постановка задачи}

sound(3000);

delay(1000);

nosound;

clrscr;

gotoxy(30,b);

write('Сделать игру: леталку-стрелялку');

repeat

a:=readkey;

until a=chr(13);

sound(4000);

delay(1000);

nosound;

goto 1;

end;

if b=18 then begin {Заключение}

sound(3000);

delay(1000);

nosound;

clrscr;

gotoxy(30,b);

write('Мне понравилась моя прога :-)');

repeat

a:=readkey;

until a=chr(13);

sound(4000);

delay(1000);

nosound;

goto 1;

end;

if b=17 then begin {руководство пользователю}

sound(3000);

delay(1000);

nosound;

clrscr;

gotoxy(30,b);

write('Если Вы в этой проге ничего не поменяете');

gotoxy(30,b+1);

write('она будет работать ВЕЧНО...');

repeat

a:=readkey;

until a=chr(13);

sound(4000);

delay(1000);

nosound;

goto 1;

end;

if b=12 then begin {математические методы}

sound(3000);

delay(1000);

nosound;

clrscr;

gotoxy(30,b);

write('Задача сама по себе не математическая,');

gotoxy(30,b+1);

write('значит и математических методов никаких нет');

repeat

a:=readkey;

until a=chr(13);

sound(4000);

delay(1000);

nosound;

goto 1;

end;

if b=13 then begin {Описание данных}

sound(3000);

delay(1000);

nosound;

clrscr;

gotoxy(30,b);

write('Данных нет...');

repeat

a:=readkey;

until a=chr(13);

sound(4000);

delay(1000);

nosound;

goto 1;

end;

if b=14 then begin {Алгоритм.блок-схема}

sound(3000);

delay(1000);

nosound;

clrscr;

gotoxy(30,b);

write('Смотри Пояснителную записку');

repeat

a:=readkey;

until a=chr(13);

sound(4000);

delay(1000);

nosound;

goto 1;

end;

if b=16 then begin {Текстовые примеры}

sound(3000);

delay(1000);

nosound;

clrscr;

gotoxy(30,b);

write('Текстовых примеров у меня тоже нет');

repeat

a:=readkey;

until a=chr(13);

sound(4000);

delay(1000);

nosound;

goto 1;

end;

if b=15 then begin

sound(3000);

delay(1000);

nosound;

jim;

closegraph;

goto 1;

end;

end;

until a=chr(27);

end.

4 Руководство пользователя для работы в программе.

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

Курсор перемещается при помощи клавиш курсора, выбор осуществляется клавишей ENTER .

При выборе какого-либо пункта меню появляется соответствующее сообщение, однако же, при выборе пункта «Программа» запускается непосредственно сама игра.

Суть игры заключается в сбивании летающих тарелок средством ПВО.

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

Игрок проигрывает в случае достижения числа не сбитых тарелок правого края экрана.

Игрок выигрывает в случае достижения числа сбитых тарелок правого края экрана.

После проигрыша либо выигрыша игра повторяется.

Заключение.

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

Длителен также процесс детальной прорисовки графики.

Необходимо, чтобы в той папке, где лежит данная программа, находился файл egavga.bgi . Этот файл имеется во многих версиях ТР в папке bin, он отвечает за инициализацию графики.

Список использованной литературы.

1 Меженный О.А. «Turbo Pascal-учитесь программировать»;Москва-С.Петербург-Киев; «Диалектика»;2001;448с.

2 Бабушкин И.А.; «Практикум по ТР»-учебное пособие по курсам ИВТ; Москва, 1998.

3 http://www.freepascal.org;

4 http://www.geocities.com/~franzglaser/tp.htm;

5 http://www.garbo.uwasa.fi/pc/turboobj.html;

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Где скачать еще рефератов? Здесь: letsdoit777.blogspot.com
Евгений22:12:35 18 марта 2016
Кто еще хочет зарабатывать от 9000 рублей в день "Чистых Денег"? Узнайте как: business1777.blogspot.com ! Cпециально для студентов!
13:26:09 24 ноября 2015

Работы, похожие на Реферат: Создание игры

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

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



Результаты(150653)
Комментарии (1838)
Copyright © 2005-2016 BestReferat.ru bestreferat@mail.ru       реклама на сайте

Рейтинг@Mail.ru