void Map_Draw() { if (Player.plocation == Grasslands.number) { Grasslands.Draw(); } }
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"); }