Разработка программного обеспечения для компьютерной игры "Морской Бой"

Автор: Пользователь скрыл имя, 12 Января 2012 в 22:27, курсовая работа

Краткое описание

Данная программа представляет собой полностью оеализованную компьютерную игру «Морской бой» в режиме компьютер-игрок. Правила игры простые, интерфейс интуитивно понятен. Игра прекрасно подходит для хорошего время провождения, развивает различный умственные качества. Достоинтсва программы заключаются в том что имеется два режима расстоновки кораблей для пользователя – «ручной» и автоматический. Так же компьютер обладает собственным интеллектом, так что игра покажется пользователю интересной и увлекательной.

Оглавление

Введение 4
1 Постановка задачи 5
2 Решение задачи 6
3 Описание программного обеспечения 7
3.1 Программная реализация 7
3.2 Общие сведения 7
3.2.1 Список файлов 7
3.2.2 Технические требования 7
3.3Алгоритм 7
3.4 Состав программы 8
Заключение 10
Список используемых источников 11

Файлы: 1 файл

Отчёт (2).doc

— 238.50 Кб (Скачать)

    if (code == 224)

      {

        code = getch();

            switch(code)

            {

            case 75: {f=f*(-1);

                           if (f==1){GotoXY(23,13);SetColor(15,0);printf ("[");SetColor(0,2); printf (Rus("aaoiiaoe?anee"));SetColor(15,0);printf ("]");

                                 GotoXY(43,13);SetColor(15,0);printf ("["); printf (Rus("a?o?io?"));SetColor(15,0);printf ("]");}

                               else{ GotoXY(23,13);SetColor(15,0);printf ("["); printf (Rus("aaoiiaoe?anee"));printf ("]");

                                     GotoXY(43,13);SetColor(15,0);printf ("[");SetColor(0,2);printf (Rus("a?o?io?"));SetColor(15,0);printf ("]");}

                               break;}

                         

            case 77: {f=f*(-1);

                           if (f==1){GotoXY(23,13);SetColor(15,0);printf ("[");SetColor(0,2); printf (Rus("aaoiiaoe?anee"));SetColor(15,0);printf ("]");

                                 GotoXY(43,13);SetColor(15,0);printf ("["); printf (Rus("a?o?io?"));SetColor(15,0);printf ("]");}

                               else{ GotoXY(23,13);SetColor(15,0);printf ("["); printf (Rus("aaoiiaoe?anee"));printf ("]");

                                     GotoXY(43,13);SetColor(15,0);printf ("[");SetColor(0,2);printf (Rus("a?o?io?"));SetColor(15,0);printf ("]");}

                               break;}

                         

            }

      } 

      else {switch(code)

      {

            case 13: k=1; break;

      } 

       

    }

while (k==0); 

if (f==1){sheeps(mypole);}

      else {SetColor(0,0);

  

   //vivod(pole);

  

     

   ui=ras(mypole);}

      if (ui==0){

      SetColor(0,0);

      system("cls");

      GotoXY(30,10);

    SetColor(15,0);

      printf (Rus("?annoaiiaea ei?aaeae")); 

      for (i=1;i<=100;i++)

        {

              GotoXY (62,15);

              SetColor(15,0);printf ("%d%%",i);

          if (i%2==0)

              {GotoXY (10+(i/2),15);

              SetColor(0,15);printf (" ");

              sheeps(pole);}Sleep(50);

      }

   SetColor(0,0);

   system ("cls");

    f=1;

      GotoXY(30,10); SetColor(15,0);printf (Rus("Eoi oiaeo ia?aui"));

      GotoXY(23,13);SetColor(15,0);printf ("[");SetColor(0,2); printf (Rus("eiiiu?oa?"));SetColor(15,0);printf ("]");

      GotoXY(43,13);SetColor(15,0);printf ("["); printf (Rus("ea?ie"));SetColor(15,0);printf ("]");

      do {k=0;

      int code =getch();

    if (code == 224)

      {

        code = getch();

            switch(code)

            {

            case 75: {f=f*(-1);

                           if (f==1){GotoXY(23,13);SetColor(15,0);printf ("[");SetColor(0,2); printf (Rus("eiiiu?oa?"));SetColor(15,0);printf ("]");

                                 GotoXY(43,13);SetColor(15,0);printf ("["); printf (Rus("ea?ie"));SetColor(15,0);printf ("]");}

                               else{ GotoXY(23,13);SetColor(15,0);printf ("["); printf (Rus("eiiiu?oa?"));printf ("]");

                                     GotoXY(43,13);SetColor(15,0);printf ("[");SetColor(0,2);printf (Rus("ea?ie"));SetColor(15,0);printf ("]");}

                               break;}

                         

            case 77: {f=f*(-1);

                           if (f==1){GotoXY(23,13);SetColor(15,0);printf ("[");SetColor(0,2); printf (Rus("eiiiu?oa?"));SetColor(15,0);printf ("]");

                                 GotoXY(43,13);SetColor(15,0);printf ("["); printf (Rus("ea?ie"));SetColor(15,0);printf ("]");}

                               else{ GotoXY(23,13);SetColor(15,0);printf ("["); printf (Rus("eiiiu?oa?"));printf ("]");

                                     GotoXY(43,13);SetColor(15,0);printf ("[");SetColor(0,2);printf (Rus("ea?ie"));SetColor(15,0);printf ("]");}

                               break;}

                         

            }

      } 

      else {switch(code)

      {

            case 13: k=1; break;

      } 

       

      } while (k==0); 

      int chislocomp=0,chislomy=0;

    SetColor(15,0);

      system("cls");

      printf("\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xBB\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t    ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

    printf("\xba"); printf("\t\t     ");printf("\xba\n");

      printf("\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xBC\n"); 
 

    GotoXY(40,0);printf("\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xBB\n");

    GotoXY(40,1);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,2);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,3);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,4);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,5);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,6);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,7);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,8);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,9);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,10);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,11);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,12);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,13);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,14);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,15);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,16);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,17);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,18);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,19);printf("\xba"); printf("\t\t     ");printf("\xba\n");

    GotoXY(40,20);printf("\xba"); printf("\t\t     ");printf("\xba\n");

      GotoXY(40,21);printf("\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xBC\n"); 

   for (i=0,x=1;i<10,x<21;i++,x=x+2)

            for (j=0,y=1;j<10,y<21;j++,y=y+2) 

              {

                    GotoXY(x,y);  if((j+i)%2!=0) {SetColor(0,1);printf ("  ");} else{SetColor(0,9);printf ("  ");}

                    GotoXY(x,y+1); if((j+i)%2!=0) {SetColor(0,1);printf ("  ");} else{SetColor(0,9);printf ("  ");}

              } 

    for (i=0,x=41;i<10,x<61;i++,x=x+2)

            for (j=0,y=1;j<10,y<21;j++,y=y+2) 

              {

                    GotoXY(x,y);if(mypole[i][j]==1){SetColor(0,12);printf ("  ");}else {if((j+i)%2!=0) {SetColor(0,1);printf ("  ");} else{SetColor(0,9);printf ("  ");}}

                    GotoXY(x,y+1);if(mypole[i][j]==1){SetColor(0,12);printf ("  ");}else {if((j+i)%2!=0) {SetColor(0,1);printf ("  ");} else{SetColor(0,9);printf ("  ");}}

              } 

   GotoXY(25,8);SetColor(15,0);printf (Rus("i?eiyou-enter"));

   GotoXY(22,9);SetColor(15,0);printf (Rus("oi?aaeaiea-no?aeee"));

   GotoXY(26,10);SetColor(15,0);printf (Rus("Auoia-Esc"));

   GotoXY(24,12);SetColor(15,0);printf (Rus("Ieii niiauaiee"));

    GotoXY(23,13);printf("\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xBB\n");

      GotoXY(23,14);printf("\xba"); printf("\t      ");printf("\xba\n");

      GotoXY(23,15);printf("\xba"); printf("\t      ");printf("\xba\n");

      GotoXY(23,16);printf("\xba"); printf("\t      ");printf("\xba\n");

      GotoXY(23,17);printf("\xba"); printf("\t      ");printf("\xba\n");

    GotoXY(23,18);printf("\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xBC\n");

   ud[0]=-3;ud[1]=-3;

  

    

      while (chislocomp<20&&chislomy<20)

      {

            if(chislomy==-1){break;}

             if(chislocomp!=20&&chislomy!=20)

             {

       if (f==1)

         {

               chislocomp=comp(mypole,chislocomp,ud,hod);

               f=f*(-1);

         }

         else

         {

               chislomy=player(pole,chislomy);

               f=f*(-1);

         }

             }

     }

      SetColor(0,0);system("cls"); 

      if(chislocomp==20)

      {GotoXY(33,14); SetColor(0,12);

      printf(Rus("Вы  проиграли"));fflush(stdin);getch();fflush(stdin);}

            if(chislomy==20)

            {GotoXY(33,14);SetColor(0,12);

      printf(Rus("Вы  выиграли!"));fflush(stdin);getch();fflush(stdin);} 

   }}

  // vivod(mypole);

   }while (m==1); 

} 

Приложение  Б

Тестирование

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

Информация о работе Разработка программного обеспечения для компьютерной игры "Морской Бой"