Проектирование и реализация компьютерной игры

Автор: Пользователь скрыл имя, 28 Ноября 2011 в 21:16, курсовая работа

Описание работы

Первые примитивные компьютерные и видеоигры были разработаны в 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 Мб (Скачать)
p>         settextstyle(0,0,4);

         outtextxy(105,210,"OPTIONS"); 

         settextstyle(0,0,4);

         outtextxy(105,350,"EXIT"); 
 

         line(470,250,530,450);

         line(530,450,600,250);

         arc(535,190,225,315,90); 
 
 

         setfillstyle(2,14);

         floodfill(550,300,10); 
 
 
 

         ellipse(495,235,0,360,30,30);

         setfillstyle(1,12);

         floodfill(490,235,10); 
 

         ellipse(535,250,0,360,30,30);

         setfillstyle(1,5);

         floodfill(535,245,10); 
 

         ellipse(572,240,0,360,30,30);

         setfillstyle(1,10);

         floodfill(572,240,10); 
 

         ellipse(510,200,0,360,30,30);

         setfillstyle(1,9);

         floodfill(510,200,10); 

         ellipse(555,200,0,360,30,30);

         setfillstyle(1,14);

         floodfill(555,200,10); 
 

         ellipse(530,155,0,360,30,30);

         setfillstyle(1,3);

         floodfill(530,155,10); 

         int mode=0;

         opt(mode); 

         while (1)

       {

         if(kbhit())

         { 

             int ch=getch(); 

             if(ch==13&&mode!=1){ //!!!! 

                      break; //Najato Enter 

                            }

             if(ch==13&&mode==1) 

             { 

                   //if(mode==1)

        cleardevice();

        setbkcolor(8);

        setcolor(14);

        settextstyle(0,0,1); 

        outtextxy(10,60,"V igre ob'ect <vaka-vaka> peredvigaetsya i poedaet shariki,");

        outtextxy(10,80,"pri etom nabiraya kkalorii.U kajdogo sharika svoe kolichestvo kkaloriy.");

        outtextxy(10,100,"Esli <vaka-vaka> nabiraet bol'she 1000 Kkal,");

        outtextxy(10,120,"to on umiraet ot ojireniya,");

        outtextxy(10,140,"a esli k etomy momentu uspevaet v sportzal,");

        outtextxy(10,160,"to vse kkalorii obnulyayutsya i on snova mojet est'shariki");

        mode=0;

        getch();

        menu(); 

        } 
 
 
 

       if(ch==0)//!

             {

              ch=getch(); 

             switch(ch)

               { 

                case 72:

                if(mode==0) mode=2;

               else mode--;

                opt(mode);

                break; 
 

                case 80:

                if(mode==2) mode=0;

                else mode++;

                opt(mode);

                break; 

               } 
 
 

             } 
 

         } 

       } 

       if (mode==2) 

       {

        closegraph(); 

        exit(0); 

       }

          }

                };

       ///////////////////////////////////////       FOOD       ////////////////////////////////////////

        class food{ 

         public: 

             int x,y,dx,dy,points;

             int val; 

       food (){ 

              } 

        food(food *d) 

         {

          dx=12;

          dy=12;

          new_food(); 

         }

       void new_food()

        { 

        val=random(7);//for color

        points=30+val*10; 

       do { 

         x=random(getmaxx()-30);

        y=random(getmaxy()-30); 

          } 

       while ((y<285&&x>469)&&((x+dx)>555&&y<285)); 

         zarisovkaf(); 

        } 

       void zarisovkaf(){ 

         setcolor(val);

         setfillstyle(1,val);

         fillellipse(x,y,dx,dy); 

                    } 

              }f[N]; 

       ///////////////////////////// MAN //////////////////////////

       class man

       { 

       int size;

       void *arrow;

       void *arrow2; 

       public: 

       int x,y,dx,dy,direct,kkal; 

       void zarisovkam(){ 
 

         cleardevice();

         setcolor(10); 

         setfillstyle(1,8);

         floodfill(2,2,8);

         setfillstyle(1,14);//golova

         fillellipse(50,80,30,30); 

         setcolor(9);

         setfillstyle(1,9);//glazik

         fillellipse(37,70,8,8); 

         setcolor(5);

         setfillstyle(1,5);//rumyanets

         fillellipse(55,90,4,4); 

         setcolor(14);

         setfillstyle(1,14);//nosik

         fillellipse(21,82,10,4); 
 

         setcolor(6);//brov'

         arc(39,70,50,135,13); 
 

         setcolor(6);//yxo

         arc(70,82,292,70,7); 
 

       arrow2=malloc(imagesize(3,44,94,120));

       getimage(3,44,94,120,arrow2); 

         setfillstyle(1,8);

         bar(3,44,94,120); 

         setcolor(10);

         setfillstyle(1,8);

         floodfill(2,2,8); 

         setfillstyle(1,14);//golova

         fillellipse(50,80,30,30); 

         setcolor(9);

         setfillstyle(1,9);//glazik

         fillellipse(63,70,8,8); 

         setcolor(5);

         setfillstyle(1,5);//rumyanets

         fillellipse(45,90,4,4); 

         setcolor(14);

         setfillstyle(1,14);//nosik

         fillellipse(79,82,10,4); 
 

         setcolor(6);//brov'

         arc(61,70,50,135,13); 
 

         setcolor(6);//yxo

         arc(30,82,110,248,7); 

         setfillstyle(1,2);

         bar(560,10,getmaxx(),160); 

       arrow=malloc(imagesize(3,44,94,120));

       getimage(3,44,94,120,arrow); 

             settextstyle(0,0,1);

                   setcolor(0); 

             outtextxy(565,20,"Black-30K");

             outtextxy(565,40,"Blue-40K");

             outtextxy(565,60,"Green-50K");

             outtextxy(565,80,"Cyan-60K");

             outtextxy(565,100,"Red-70K");

             outtextxy(565,120,"Mag-80K");

             outtextxy(565,140,"Brown-90K"); 

       } 
 
 

       ///////////////////////////////////////

       void moveright()  { 

       direct=2; 

        if(x+dx<getmaxx()-5) 

          { 

        if (!((x+dx)>555&&y<285)){//podchod k paneli 

            x+=5; 

        if(direct==2)

              putimage(x,y,arrow,COPY_PUT);

        else

              putimage(x,y,arrow2,COPY_PUT); 

                     }

       else { kkal=0; } 

          } 
 

                     }

       ////////////////////////////////////////

       void moveleft() { 

              direct=1; 
 

        if(x>5){ 

         x-=5; 

        if(direct==2)

           putimage(x,y,arrow,COPY_PUT); 

        else

           putimage(x,y,arrow2,COPY_PUT); 
 

             }

                    } 
 

       ///////////////////////////////////////

       void moveup() { 

         if(y>5) { 

       if (!(y<285&&x>469)) 

        {

          y-=5; 

        if(direct==2) 

              putimage(x,y,arrow,COPY_PUT);

       else

              putimage(x,y,arrow2,COPY_PUT); 

        }

       else {

       kkal==0;

            } 

        } 

                    } 

       //////////////////////////////////////////

       void movedown() { 

         if(y<getmaxy()-5) { 

         y+=5; 

        if(direct==2) 

              putimage(x,y,arrow,COPY_PUT);

       else

              putimage(x,y,arrow2,COPY_PUT); 

                       } 

                   } 
 

         void work(){ 

               int ch=0; 

               while(ch!=27){

             ch=getch(); 

       gotoxy(71,11);

       printf("KKAL=%d ",kkal); 

       switch(ch)

               { 

         case 77: 

           moveright();

           break; 

         case 75: 

           moveleft();

           break; 

         case 72: 

          moveup();

          break; 

               case 80:

Информация о работе Проектирование и реализация компьютерной игры