Программирование компьютерной графики. Создание игры «Опасный лабиринт»

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

Балтийский государственный технический университет «Военмех» им. Д.Ф.Устинова

Кафедра И5

«Информационных систем и компьютерных технологий»

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

По учебной дисциплине: «Программирование на языках высокого уровня»

На тему: «Программирование компьютерной графики. Создание игры.»

Проверил:

Васюков В.М.

Студент:

Кулагина А.С.

Группа Н392

Санкт-Петербург

2010

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

Цель работы:   -разобраться с наследованием классов;

-продемонстрировать работы со списками;

-продемонстрировать работу с файлами;

-реализовать управление объектами в программе;

-реализовать программное меню;

-продемонстрировать работу в графическом режиме.

Схема классов:

                                         class Play

BadObject massB[8];

User_Menu m

Class Best                   

- void OpenFileRank                      - void Time

- void ReadFileRank                      - int Life

- void AddFileRank                       - void Vlvl

- void CreateFileRank                    - void Level3

- void AddNewUser                        - void Level2

- void Level1

                                         - int Labirint1

- int Labirint2

- void Labirint3

 


                       

class BadObject                          class Game

- void Move                              - void Zapusk                      

- void Paint                             - void Menu                        

- void Labirint

class User_Menu        

-int UserMenu

Заключение: В процессе реализации курсовой работы были изучены особенности работы с классами, наследование, агрегация; работа с графическим режимом; работа со списками и файлами; были реализованы управляния объектами в программе и программное меню. Таким образом все  поставленные цели были достигнуты.

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

void Screen (void);

void CurShow (int, int);

void CurHide (int, int);

void MenuShow (void);

void Pole (void);

void GameOver (void);

void TheEnd (void);

void ShowPlayer (int,int);

void HidePlayer (int,int);

void User_Menu1 (void);

void Stenka (int,int);

void Exit (int,int);

void Stenka (int xs,int ys) //прорисовка стенок

{

setcolor (4);

rectangle (xs,ys,xs+40,ys+40);

line (xs+13.3,ys,xs+13.3,ys+26.6);

line (xs+13.3,ys+13.3,xs+40,ys+13.3);

line (xs,ys+26.6,xs+26.6,ys+26.6);

line (xs+26.6,ys+13.3,xs+26.6,ys+40);   

}

void Exit (int xe,int ye) //выход

{

setcolor (9);

circle (xe,ye,15);

setfillstyle (1,9);

floodfill (xe,ye,9);

}

void User_Menu1 () //пользовательское меню

{

setcolor (8);

settextstyle( DEFAULT_FONT, HORIZ_DIR, 40);

outtextxy (320,20,"Меню");

settextstyle( DEFAULT_FONT, HORIZ_DIR, 32 );

setcolor (3);

outtextxy (320,105, "Продолжить");

settextstyle( DEFAULT_FONT, HORIZ_DIR, 25 );

outtextxy (315,195, "В главное меню");

settextstyle( DEFAULT_FONT, HORIZ_DIR, 20 );

outtextxy (315, 285, "Таблица рекордов");

settextstyle( DEFAULT_FONT, HORIZ_DIR, 32 );

outtextxy (320,370, "Выход");

setcolor (8);

line (0, 50, 50, 50);

line (100,0, 100, 100);

line (50,50, 50, 150);

line (50,150, 0,150);

line (100,100, 190,100);

line (190,100, 190,50);

line (190,50, 450,50);

line (450,50, 450,100);

line (450,100, 540,100);

line (540,100, 540,0);

line (640,50, 590,50);

line (590,50, 590,150);

line (590,150, 640,150);

line (540,150, 450,150);

line (540,150, 540,200);

line (540,200, 590,200);

line (100,150, 100, 200);

line (100,200, 50,200);

line (100,150, 190, 150);

line (190,150, 190,220);

line (50,200, 50,220);

line (50,220, 190,220);

line (190,270, 100,270);

line (100,270, 100,370);

line (100,370, 170,370);

line (170,370, 170,480);

line (0,270, 50,270);

line (50,270, 50,420);

line (50,420, 120,420);

line (120,420, 120,480);

line (590,200, 590,220);

line (590,220, 450,220);

line (450,220, 450,150);

line (450,270, 550,270);

line (550,270, 550,370);

line (550,370, 470,370);

line (470,370, 470,480);

line (590,270, 590,420);

line (590,420, 520,420);

line (520,420, 520,480);

line (590,270, 640,270);

line (190,270, 190,430);

line (190,430, 450,430);

line (450,430, 450,270);

setcolor (13);

rectangle (220,85, 420,135);

rectangle (220,175, 420,225);

rectangle (220,265, 420,315);

rectangle (220,355, 420,405);

}

void Screen (void) //заставка

{

setcolor (8);

settextstyle( DEFAULT_FONT, HORIZ_DIR, 60 );

settextjustify(CENTER_TEXT,CENTER_TEXT);

outtextxy( getmaxx()/2, getmaxy()/2-32, "Опасный лабиринт" );

setcolor (14);

rectangle (200,300,440,340);

for (int x=200; x<=440; x++)

{

setcolor (1);

settextstyle( DEFAULT_FONT, HORIZ_DIR, 20 );

outtextxy( 320, 320, "Загрузка..." );

setcolor (14);

line (x,300,x,340);

sleep (10);

}

}

void CurShow (int xc, int yc) //рисование курсора

{

setcolor (11);

circle (xc,yc,10);

}

void CurHide (int xc, int yc) // закрашивание курсора

{

setcolor (0);

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.