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

Автор: Пользователь скрыл имя, 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 Кб (Скачать)

        rand_chislo1= 0 + rand() %10;

       

        ts = 1+rand()%4;

       

          if (ts==1) {for(i=0;i<3;i++) if(rand_chislo==i)f=1;}

         if (ts==2)  {for(i=7;i<10;i++) if(rand_chislo==i)f=1;}                         

          if (ts==3) {for(i=0;i<3;i++) if(rand_chislo1==i)f=1;}

         if (ts==4)  {for(i=7;i<10;i++) if(rand_chislo1==i)f=1;}      

        }

       while (f==1);

        switch (ts){

          case 1: pole[rand_chislo][rand_chislo1]=1; pole[rand_chislo-1][rand_chislo1]=1;

                  pole[rand_chislo-2][rand_chislo1]=1;pole[rand_chislo-3][rand_chislo1]=1; break;

           case 2: pole[rand_chislo][rand_chislo1]=1; pole[rand_chislo+1][rand_chislo1]=1;

                   pole[rand_chislo+2][rand_chislo1]=1;pole[rand_chislo+3][rand_chislo1]=1; break;

         case 3: pole[rand_chislo][rand_chislo1]=1; pole[rand_chislo][rand_chislo1-1]=1;

                 pole[rand_chislo][rand_chislo1-2]=1;pole[rand_chislo][rand_chislo1-3]=1;break;

          case 4: pole[rand_chislo][rand_chislo1]=1; pole[rand_chislo][rand_chislo1+1]=1;

                  pole[rand_chislo][rand_chislo1+2]=1;pole[rand_chislo][rand_chislo1+3]=1; break; }

    

   

   

   

   

  

    for (k=0;k<3;k++)                                       //?annoaiiaea aaieiuo ei?aaeae

     {

       do{ f=0;

        rand_chislo = 0 + rand() %10;

        rand_chislo1= 0 + rand() %10;

       

        ts = 1+rand()%4;

       

          if (ts==1)  {if(rand_chislo!=0){ for (i=rand_chislo-2;i<rand_chislo+2;i++)

                                      for (j=rand_chislo1-1;j<=rand_chislo1+1;j++)

                                        {if (pole[i][j]!=0){f=1;}}}else f=1; }

         if (ts==2)  {if (rand_chislo!=9)  {  for (i=rand_chislo-1;i<=rand_chislo+2;i++)

                                          for (j=rand_chislo1-1;j<=rand_chislo1+1;j++)

                                          { if (pole[i][j]!=0){ f=1;}}}else f=1;  }                           

          if (ts==3) { if (rand_chislo1!=0) {   for (i=rand_chislo-1;i<=rand_chislo+1;i++)

                                            for (j=rand_chislo1-2;j<=rand_chislo1+1;j++)

                                            { if (pole[i][j]!=0){ f=1;}}}else f=1;  }

         if (ts==4) { if (rand_chislo1!=9) {   for (i=rand_chislo-1;i<=rand_chislo+1;i++)

                                            for (j=rand_chislo1-1;j<=rand_chislo1+2;j++)

                                            { if (pole[i][j]!=0){ f=1;}}}

                                            else f=1;   }                                 

        }

       while (f==1);

        switch (ts){

          case 1: pole[rand_chislo][rand_chislo1]=1; pole[rand_chislo-1][rand_chislo1]=1; break;

          case 2: pole[rand_chislo][rand_chislo1]=1; pole[rand_chislo+1][rand_chislo1]=1; break;

          case 3: pole[rand_chislo][rand_chislo1]=1; pole[rand_chislo][rand_chislo1-1]=1;break;

          case 4: pole[rand_chislo][rand_chislo1]=1; pole[rand_chislo][rand_chislo1+1]=1; break; }

     

       

     }

   

     for (k=0;k<2;k++)                                       //?annoaiiaea o?ieiuo ei?aaeae

     {

       do{ f=0;

        rand_chislo = 0 + rand() %10;

        rand_chislo1= 0 + rand() %10;

       

        ts = 1+rand()%4;

       

          if (ts==1)  {if(rand_chislo!=0&&rand_chislo!=1){ for (i=rand_chislo-3;i<rand_chislo+2;i++)

                                      for (j=rand_chislo1-1;j<=rand_chislo1+1;j++)

                                        {if (pole[i][j]!=0){f=1;}}}else f=1; }

         if (ts==2)  {if (rand_chislo!=9&&rand_chislo!=8)  {  for (i=rand_chislo-1;i<=rand_chislo+3;i++)

                                          for (j=rand_chislo1-1;j<=rand_chislo1+1;j++)

                                          { if (pole[i][j]!=0){ f=1;}}}else f=1;  }                           

          if (ts==3) { if (rand_chislo1!=0&&rand_chislo1!=1) {   for (i=rand_chislo-1;i<=rand_chislo+1;i++)

                                            for (j=rand_chislo1-3;j<=rand_chislo1+1;j++)

                                            { if (pole[i][j]!=0){ f=1;}}}else f=1;  }

         if (ts==4) { if (rand_chislo1!=9&&rand_chislo1!=8) {   for (i=rand_chislo-1;i<=rand_chislo+1;i++)

                                            for (j=rand_chislo1-1;j<=rand_chislo1+3;j++)

                                            { if (pole[i][j]!=0){ f=1;}}}

                                            else f=1;   }                                 

        }

       while (f==1);

        switch (ts){

          case 1: pole[rand_chislo][rand_chislo1]=1; pole[rand_chislo-1][rand_chislo1]=1;pole[rand_chislo-2][rand_chislo1]=1; break;

           case 2: pole[rand_chislo][rand_chislo1]=1; pole[rand_chislo+1][rand_chislo1]=1; pole[rand_chislo+2][rand_chislo1]=1; break;

         case 3: pole[rand_chislo][rand_chislo1]=1; pole[rand_chislo][rand_chislo1-1]=1;pole[rand_chislo][rand_chislo1-2]=1;break;

          case 4: pole[rand_chislo][rand_chislo1]=1; pole[rand_chislo][rand_chislo1+1]=1;pole[rand_chislo][rand_chislo1+2]=1; break; }

    }

   

   

   

    for (i=0; i<4;i++ )                          //?annoaiiaea iae?iuo ei?aaeae

    {do{

      rand_chislo = 0 + rand() %10;

       rand_chislo1= 0 + rand() %10;}

       while (pole[rand_chislo][rand_chislo1]!=0||pole[rand_chislo+1][rand_chislo1]!=0||pole[rand_chislo-1][rand_chislo1]!=0||pole[rand_chislo][rand_chislo1+1]!=0||pole[rand_chislo][rand_chislo1-1]!=0||pole[rand_chislo+1][rand_chislo1+1]!=0||pole[rand_chislo-1][rand_chislo1-1]!=0||pole[rand_chislo+1][rand_chislo1-1]!=0||pole[rand_chislo-1][rand_chislo1+1]!=0);

      

       pole[rand_chislo][rand_chislo1]=1;}

  

   

    

     

     

    

                 

                 

                

                 

/*    for (i=0;i<10;i++)                     //einoueu aey i?iniio?a ei?aaeae

      {for (r=0;r<3;r++){for (j=0;j<10;j++)

       {if (pole[i][j]==0){ if(r==0) printf ("%c%c%c%c%c",a,b,b,b,c);

                           if(r==1) printf ("%c   %c",d,d);

                           if(r==2) printf ("%c%c%c%c%c",e,b,b,b,g);}

    

        else printf ("%c%c%c%c%c",kr,kr,kr,kr,kr);}

      printf ("\n");}}

     

    

     

    getch(); */

return pole[10][10];

} 

/*int vivod(int pole[10][10])

{

      int i,j,x,y;

      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\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\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 (pole[i][j]==0) {if((j+i)%2!=0) {SetColor(0,1);printf ("  ");} else{SetColor(0,9);printf ("  ");}}else  { SetColor(0,14);printf ("  ");}

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

              } 
 

      return 0;

}

*/

int ras(int mypole[10][10])

{

      system ("cls");

      int i,j,x,y,u,f,e,w,nap,ui;

      SetColor(15,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");

    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");

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