Ejemplo n.º 1
0
void Map_Draw()
{
	if (Player.plocation == Grasslands.number)
	{
		Grasslands.Draw();
	}
}
Ejemplo n.º 2
0
void War(Map MyMap, Map WarMap){
     printf("Да начнется битва!");
     printf("Введите координаты: ");
     while(1){   
          if(WarMap.GetK() == 0 || MyMap.GetK() == 0) break;
          int x = 0, y = 0; 
          metka:
          scanf("%d %d",&x,&y);
          int P = WarMap.Izm(x,y);
          if(P == 0){
             printf("\nВы уже стреляли в эту ячейку! Повторите:\n");
             goto metka;
          } else if(P == 1){
             printf("Вы попали!\n");
          } else if(P == 2){
             printf("Мимо!\n"); 
          } else if(P == 3){
             printf("Корабль врага уничтожен! :))\n");  
             WarMap.MinusK();     
             printf("У врага осталось кораблей: %d\n",WarMap.GetK());
          }
          WarMap.Draw();
          metka8:
          if(Nastup == 0){
              x = rand()%10+1;
              y = rand()%10+1;
          } else if(Nastup <= 4){
              int r = rand()%4;
              switch(r){
                   case 0: if(NX < 10){ x = NX+1; y = NY; } break;
                   case 1: if(NX > 0){ x = NX-1; y = NY; } break;
                   case 2: if(NY > 0){ x = NX; y = NY-1; } break;
                   case 3: if(NY < 10){ x = NX; y = NY+1; } break;
              }       
          }
          P = MyMap.Izm(x,y);
          int Fl = 0; // сколько раз в невозможное место
          if(P == 0){
             Fl++;
             if(Fl == 4){
                  Nastup = NX = NY = Fl = 0;
                  printf("Наступление окончено!");
                  }
             goto metka8;
          } else if(P == 1){
             printf("Увы, но в ваш корабль попали!\n");
             Nastup++;
             NX = x;
             NY = y;
          } else if(P == 2){
             printf("Уху, враг промахнулся!\n");       
          } else if(P == 3){
             printf("Ваш корабль потоплен :((\n");    
             Nastup = 0;
             MyMap.MinusK();
             printf("У вас осталось кораблей: %d\n",MyMap.GetK());
          }
          MyMap.Draw();
     }
     if(MyMap.GetK() == 0){
          printf("Вы проиграли! :((");                
     }
     if(WarMap.GetK() == 0){
          printf("Вы выиграли! :)");                 
     }
     system("PAUSE");
}