Проектирование и реализация компьютерной игры
Курсовая работа, 28 Ноября 2011, автор: l***********@mail.ru
Описание работы
Первые примитивные компьютерные и видеоигры были разработаны в 1950-х и 1960-х годах. Они работали на таких платформах, как осциллографы, университетские мейнфреймы и компьютеры EDSAC. Самой первой компьютерной игрой стал симулятор ракеты, созданный в 1942 году Томасом Голдсмитом Младшим и Истл Рей Менном.
По определению, которое сложилось к данному моменту времени, компьютерная игра — компьютерная программа, служащая для организации игрового процесса, связи с партнёрами по игре, или сама выступающая в качестве партнёра.
Содержание
Введение
1 Постановка задачи
2 Объектно-ориентированный анализ и проектирование
2.1 Объектно-ориентированный анализ
2.2 Объектно-ориентированное проектирование
2.2.1 Диаграммы классов
2.2.2 Диаграммы объектов
2.2.3 Диаграммы прецедентов
2.2.4 Диаграммы состояний
3 Рабочее проектирование
3.1 Структуры данных приложения
3.2 Разработка классов
3.3 Тестирование работоспособности системы классов
3.4 Обоснование выбора структур данных
3.5 Обоснование выбора алгоритмов
Выводы
Перечень ссылок
Работа содержит 1 файл
Министе_кор.doc
— 1.58 Мб (Скачать) Пояснительная
записка по курсовой работе должна
сопровождаться следующими программными
документами: описание программы; руководство
программиста; руководство оператора;
текст программы.
График выполнения курсовой работы
| № | Наименование этапа | Недели |
| 1 | Выдача задания на курсовую работу. | 1-2 |
| 2 | Постановка задачи. Определение требований к программе. | 1-2 |
| 3 | Техническое проектирование | 2 |
| 4 | Рабочее проектирование | 4-5 |
| 5 | Написание программы | 6-10 |
| 6 | Комплексная отладка и тестирование | 11-12 |
| 7 | Написание пояснительной записки | 13-15 |
| 8 | Защита курсовой | 16-18 |
Дата
выдачи задания
Задание
принял к исполнению
Вереитина Д.А.
Руководители
проекта
ПРИЛОЖЕНИЕ Б. ОПИСАНИЕ ПРОГРАММЫ
Программа представлена одним файлом.
Данная
программа содержит 4 класса: game, man,
food, sportzal. Первый класс содержит 3 функций,
второй 8, третий – 3, четвертый - 1. Все
методы реализованы в класса, также присутствует
одна глобальная константа N, равная десяти.
ПРИЛОЖЕНИЕ
В. РУКОВОДСТВО ПРОГРАММИСТА
Назначение
программы – компьютерная игра,
предназначенная для
Программа работает, начиная с запуска и до того момента, пока не будет нажата клавиша Esc.
Запуск программы осуществляется с помощью exe файла.
В конце программы выдаётся сообщение об окончании игры.
Если
в текущем каталоге не будут обнаружены
файлы графических библиотек, то программа
выдаст сообщение о графической ошибке.
| Действие пользователя | Сообщение системы |
| При запуске программы не обнаружены графические библиотеки в текущем каталоге | Error: Device driver file not found <EGAVGA.BGI> |
ПРИЛОЖЕНИЕ Г. РУКОВОДСТВО ОПЕРАТОРА
Данная программа является компьютерной игрой развлекательного назначения.
Требования для работы программы: монитор с расширением экрана не менее, чем 640 на 340 пикселей, клавиатура, операционная система DOS или Widows (любая версия), особых требований для процессора или видеокарты нет.
Для запуска программы необходимо 2 раза щёлкнуть левой кнопкой мыши на иконке файла IGRA_FINAL. EXE. Появится заставка, далее – меню. Для начала меню необходимо выбрать пункт меню «New game» и нажать Enter, для открытия раздела справки необходимо выбрать пункт меню «OPTIONS», для выхода – «EXIT» или нажать Esc.
В конце программы выдаётся сообщение об окончании игры. Для выхода в Widows нужно нажать клавишу Esc.
Если
в текущем каталоге не будут обнаружены
файлы графических библиотек, то
программа выдаст сообщение о графической
ошибке. Чтобы устранить эту ошибку нужно
переписать эти файлы в текущий каталог.
ПРИЛОЖЕНИЕ Д. ТЕКСТ ПРОГРАММЫ
#include<GRAPHICS.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<dos.h>
#define
N 10
class game
{
public:
void zastavka()
{
setbkcolor(9);
settextstyle(2,0,
outtextxy(100,
settextstyl
setcolor(
outtextxy(100,30,
setfillstyle(1,14);
fillellipse(320,220,80,150); //golova
setfillstyle(1,12);
fillellipse(335,260,20,20);
setcolor(6);
arc(370,225,280,80,20);
setcolor(14);
setfillstyle(1,14);
fillellipse(260,220,60,30);//
setfillstyle(1,9);
fillellipse(288,181,27,16);
setfillstyle(1,6);
fillellipse(288,181,13,13);//
setcolor(6);
arc(288,181,25,155,35);//brov'
setcolor(4);
arc(272,280,230,315,30);//rot
line(320,70,218,90);
line(320,70,216,100);
line(320,70,214,110);
line(320,70,212,120);
line(320,70,208,130);
line(320,70,208,140);
line(320,70,210,150);
setcolor(6);
pieslice (150,260,150,205,120);
setlinestyle(0,0,3);//pirog
line(42,310,42,380);
line(148,260,148,330);
line(42,380,148,330);
line(29,274,29,353);
arc(48,360,155,250,20);
setfillstyle(1,4);
floodfill(35,345,6);
setcolor(6);
line(42,330,148,280);
line(42,350,148,300);
line(42,370,148,320);
setfillstyle(1,12);
floodfill(45,335,6);
setfillstyle(1,10);
floodfill(45,325,6);
setfillstyle(1,11);
floodfill(45,372,6);
setfillstyle(1,14);
floodfill(45,355,6);
setcolor(5);
setfillstyle(1,11);
circle(40,260,10);
floodfill(40,260,5);
setfillstyle(1,13);
circle(70,260,10);
floodfill(70,260,5);
setfillstyle(1,1);
circle(100,260,10);
floodfill(100,260,5);
void *buf1;
void *buf2;
buf1=malloc(imagesize(248,285,
buf2=malloc(imagesize(135,260,
getimage(248,285,310,355,buf1)
getimage(135,260,150,320,buf2)
int
pexit=0;
while (1)
{
if(kbhit())
{
switch(getch())
{
case 27:
closegraph();
return;
case 13:
pexit=1;
break;
}
}
if(pexit==1) break;
putimage(248,285,buf1,COPY_
putimage(135,260,buf2,COPY_
delay(1000);
setcolor(9);
setfillstyle(1,9);
pieslice (300,295,185,240,100);
delay(1000);
setcolor(9);
setfillstyle(1,9);
fillellipse(148,310,10,10);
delay(500);
setcolor(9);
setfillstyle(1,9);
fillellipse(148,290,10,10);
delay(500);
setcolor(9);
setfillstyle(1,9);
fillellipse(148,270,10,10);
delay(500);
}
return;
}
int opt(int mode){
setfillstyle(1,9);
bar(25,35,75,440);
setcolor(15);
line(35,75+130*mode,50,120+
line(50,120+130*mode,75,63+
return 0;
}
void menu()
{
cleardevice();
setfillstyle(1,
floodfill(0,0,15)
setcolor(10);
line(20,30,450,
line(20,170,450,
line(20,313,450,
line(20,30,20,
line(20,450,450,
line(450,450,450,
setfillstyle(1,9)
floodfill(25,150,
floodfill(25,190,
floodfill(25,350,
settextstyle(0,0,4);
outtextxy(105,70,"NEW GAME");