Advertisement
Guest User

Untitled

a guest
Nov 16th, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 48.37 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. #include <conio.h>
  4. using namespace std;
  5.  
  6. void wyswietl_p01(string *plansza01)
  7. {
  8.   string alfabet = "ABCDEFGHIJ";
  9.   cout << "  ";
  10.  
  11.   for (int k = 0; k <= 10; k++)
  12.     if (k != 0)
  13.       cout << k << " ";
  14.   cout << endl;
  15.   cout << alfabet[0] << " ";
  16.   for (int i = 1; i < 11; i++)
  17.   {
  18.     for (int j = 1; j < 11; j++)
  19.     {
  20.       cout << *(plansza01 + i * 12 + j) << " "; // plansza[a][b] == *(plansza + i * size <tu: 12> + j)
  21.     }
  22.     cout << endl;
  23.     if (alfabet[i] != 'K')
  24.       cout << alfabet[i] << " ";
  25.   }
  26.     cout<<endl;
  27. }
  28.  
  29. void wyswietl_p1(string *plansza1)
  30. {
  31.   string alfabet = "ABCDEFGHIJKLMN";
  32.  
  33.   cout << "  ";
  34.   for (int k = 0; k <= 10; k++)
  35.     if (k != 0)
  36.       cout << k << " ";
  37.   cout << endl;
  38.   cout << alfabet[0] << " ";
  39.   for (int i = 1; i < 11; i++)
  40.   {
  41.     for (int j = 1; j < 11; j++)
  42.     {
  43.       cout << *(plansza1 + 12 * i + j) << " ";
  44.     }
  45.     cout << endl;
  46.     if (alfabet[i] != 'K')
  47.       cout << alfabet[i] << " ";
  48.   }
  49.     cout<<endl;
  50. }
  51.  
  52. void wyswietl_p2(string *plansza2)
  53. {
  54.   string alfabet = "ABCDEFGHIJ";
  55.   cout << "  ";
  56.   for (int k = 0; k <= 10; k++)
  57.     if (k != 0)
  58.       cout << k << " ";
  59.   cout << endl;
  60.   cout << alfabet[0] << " ";
  61.   for (int i = 1; i < 11; i++)
  62.   {
  63.     for (int j = 1; j < 11; j++)
  64.     {
  65.  cout << *(plansza2 + i * 12 + j) << " ";
  66.     }
  67.     cout << endl;
  68.     if (alfabet[i] != 'K')
  69.       cout << alfabet[i] << " ";
  70.   }
  71.     cout<<endl;
  72. }
  73.  
  74. void wyswietl_p02(string *plansza02)
  75. {
  76.   string alfabet = "ABCDEFGHIJ";
  77.   cout << "  ";
  78.   for (int k = 0; k <= 10; k++)
  79.     if (k != 0)
  80.       cout << k << " ";
  81.   cout << endl;
  82.   cout << alfabet[0] << " ";
  83.   for (int i = 1; i < 11; i++)
  84.   {
  85.     for (int j = 1; j < 11; j++)
  86.     {
  87.  cout << *(plansza02 + i * 12 + j) << " ";
  88.     }
  89.     cout << endl;
  90.     if (alfabet[i] != 'K')
  91.       cout << alfabet[i] << " ";
  92.   }
  93.   cout<<endl;
  94. }
  95.  
  96. int main()
  97. {
  98.   char a, b;
  99.   string plansza1[12][12]; //plansza gracza 1 rzeczywista
  100.   string plansza2[12][12];
  101.   string plansza01[12][12]; //plansza gracza nr 1 wyswietlana graczowi drugiemu
  102.   string plansza02[12][12];
  103.   for (int i = 0; i < 12; i++)
  104.   {
  105.     for (int j = 0; j < 12; j++)
  106.       plansza1[j][i] = '-';
  107.   }
  108.   for (int i = 0; i < 12; i++)
  109.   {
  110.     for (int j = 0; j < 12; j++)
  111.       plansza2[j][i] = '-';
  112.   }
  113.   for (int i = 0; i < 12; i++)
  114.   {
  115.     for (int j = 0; j < 12; j++)
  116.       plansza01[j][i] = '-';
  117.   }
  118.   for (int i = 0; i < 12; i++)
  119.   {
  120.     for (int j = 0; j < 12; j++)
  121.       plansza02[j][i] = '-';
  122.   }
  123.   int jedno, dwu, trzy, cztero, piecio;
  124.  
  125.   cout<<"Witaj na pokladzie! Twoim zadaniem jest zniszczyc wszystkie statki przeciwnika, ktore rozstawi na mapie o wymiarach 10x10. Powodzenia!"<<endl<<endl<<endl;
  126.  
  127.   cout << "Niech jeden z graczy wpisze ilosc poszczegolnych statkow. Obydwaj gracze beda miec tyle samo statkow." << endl
  128.        << endl;
  129.  
  130.   cout << "Podaj ilosc jednomasztowcow:";
  131.   cin >> jedno;
  132.   cout << "Podaj ilosc dwumasztowcow:";
  133.   cin >> dwu;
  134.   cout << "Podaj ilosc trzymasztowcow:";
  135.   cin >> trzy;
  136.   cout << "Podaj ilosc czteromasztowcow:";
  137.   cin >> cztero;
  138.   cout << "Podaj ilosc pieciomasztowcow:";
  139.   cin >> piecio;
  140.   int hp1=jedno +(2*dwu)+(3*trzy)+(4*cztero)+(5*piecio);
  141.   int hp2=jedno +(2*dwu)+(3*trzy)+(4*cztero)+(5*piecio);
  142.   cout<<"Teraz gracz nr1 bedzie rozmieszczal swoje statki. Graczu nr2 - nie podgladaj!"<<endl
  143.   <<endl;
  144.  
  145.  
  146.   for (int a = 0; a < jedno; a++)
  147.   {
  148.     cout << "Podaj koordynaty jednomasztowca(np.B5). Pamietaj, ze rozne statki nie moga sie stykac burtami:" << endl
  149.          << endl;
  150.     string kord;
  151.     cin >> kord;
  152.     bool mozliwosc_rozstawienia = true;
  153.     int rzad, kolumna;
  154.     if (kord.size() == 2)
  155.     {
  156.       kolumna = kord[0] - 'A' + 1;
  157.       rzad = kord[1] - '0';
  158.     }
  159.     else
  160.     {
  161.       rzad = 10;                  //cyferki(gora)
  162.       kolumna = kord[0] - 65 + 1; //literki(bok)
  163.     }
  164.     if (plansza1[kolumna][rzad] == "-" && plansza1[kolumna-1][rzad-1] == "-" && plansza1[kolumna-1][rzad] == "-" && plansza1[kolumna-1][rzad+1] == "-" && plansza1[kolumna][rzad-1] == "-" && plansza1[kolumna][rzad+1] == "-" && plansza1[kolumna+1][rzad-1] == "-" && plansza1[kolumna+1][rzad] == "-" && plansza1[kolumna+1][rzad+1] == "-")
  165.     {
  166.       plansza1[kolumna][rzad] = "S"; // SWAP kolumna <> rzad
  167.       wyswietl_p1((string *)plansza1);
  168.     }
  169.     else
  170.     {
  171.               cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami. Sprobuj ustawic statek jeszcze raz" << endl<<endl;
  172.       a--;
  173.     }
  174.   }////////////////////////*rozstawianie dwumasztowcow*///////////////////
  175. for (int a = 0; a < dwu; a++)
  176.   {
  177.     cout << "Teraz podaj koordynaty dzioba DWUMASZTOWCA i (po spacji)kierunek, w ktorym ma byc zwrocony(lewo,prawo,gora,dol)(np.B5 gora - umieszczasz statek na B5 i A5). Pamietaj, ze rozne statki nie moga sie stykac burtami:" << endl
  178.          << endl;
  179.     string kord, kierunek;
  180.     cin >> kord>>kierunek;
  181.     bool mozliwosc_rozstawienia = true;
  182.     int rzad, kolumna;
  183.     if (kord.size() == 2)
  184.     {
  185.       kolumna = kord[0] - 'A' + 1;
  186.       rzad = kord[1] - '0';
  187.     }
  188.     else
  189.     {
  190.       rzad = 10;                  //cyferki(gora)
  191.       kolumna = kord[0] - 65 + 1; //literki(bok)
  192.     }
  193.         if (kierunek[0]=='g'){
  194.         if (kolumna!=1&&plansza1[kolumna][rzad] == "-" && plansza1[kolumna-1][rzad-1] == "-" && plansza1[kolumna-1][rzad] == "-" && plansza1[kolumna-1][rzad+1] == "-" && plansza1[kolumna][rzad-1] == "-" && plansza1[kolumna][rzad+1] == "-" && plansza1[kolumna+1][rzad-1] == "-" && plansza1[kolumna+1][rzad] == "-" && plansza1[kolumna+1][rzad+1] == "-"&&plansza1[kolumna-2][rzad-1] == "-" &&plansza1[kolumna-2][rzad] == "-" &&plansza1[kolumna-2][rzad+1] == "-")
  195.     {
  196.       plansza1[kolumna][rzad] = "S";
  197.       plansza1[kolumna-1][rzad] = "S";
  198.       wyswietl_p1((string *)plansza1);
  199.     }
  200.     else {
  201.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  202.       a--;
  203.     }}
  204.     else if (kierunek[0]=='d'){
  205.         if (kolumna!=10&&plansza1[kolumna][rzad] == "-" && plansza1[kolumna-1][rzad-1] == "-" && plansza1[kolumna-1][rzad] == "-" && plansza1[kolumna-1][rzad+1] == "-" && plansza1[kolumna][rzad-1] == "-" && plansza1[kolumna][rzad+1] == "-" && plansza1[kolumna+1][rzad-1] == "-" && plansza1[kolumna+1][rzad] == "-" && plansza1[kolumna+1][rzad+1] == "-"&&plansza1[kolumna+2][rzad-1] == "-" &&plansza1[kolumna+2][rzad] == "-" &&plansza1[kolumna+2][rzad+1] == "-")
  206.     {
  207.       plansza1[kolumna][rzad] = "S";
  208.       plansza1[kolumna+1][rzad] = "S";
  209.       wyswietl_p1((string *)plansza1);
  210.     }
  211.     else {
  212.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  213.       a--;
  214.     }}
  215.     else if (kierunek[0]=='l'){
  216.         if (rzad!=1&&plansza1[kolumna][rzad] == "-" && plansza1[kolumna-1][rzad-1] == "-" && plansza1[kolumna-1][rzad] == "-" && plansza1[kolumna-1][rzad+1] == "-" && plansza1[kolumna][rzad-1] == "-" && plansza1[kolumna][rzad+1] == "-" && plansza1[kolumna+1][rzad-1] == "-" && plansza1[kolumna+1][rzad] == "-" && plansza1[kolumna+1][rzad+1] == "-"&& plansza1[kolumna-1][rzad-2] == "-"&& plansza1[kolumna][rzad-2] == "-"&& plansza1[kolumna+1][rzad-2] == "-")
  217.     {
  218.       plansza1[kolumna][rzad] = "S";
  219.       plansza1[kolumna][rzad-1] = "S";
  220.       wyswietl_p1((string *)plansza1);
  221.     }
  222.     else {
  223.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  224.       a--;
  225.     }}
  226.     else if (kierunek[0]=='p'){
  227.         if (rzad!=10&&plansza1[kolumna][rzad] == "-" && plansza1[kolumna-1][rzad-1] == "-" && plansza1[kolumna-1][rzad] == "-" && plansza1[kolumna-1][rzad+1] == "-" && plansza1[kolumna][rzad-1] == "-" && plansza1[kolumna][rzad+1] == "-" && plansza1[kolumna+1][rzad-1] == "-" && plansza1[kolumna+1][rzad] == "-" && plansza1[kolumna+1][rzad+1] == "-"&& plansza1[kolumna-1][rzad+2] == "-"&& plansza1[kolumna][rzad+2] == "-"&& plansza1[kolumna+1][rzad+2] == "-")
  228.     {
  229.       plansza1[kolumna][rzad] = "S";
  230.       plansza1[kolumna][rzad+1] = "S";
  231.       wyswietl_p1((string *)plansza1);
  232.     }
  233.     else {
  234.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  235.       a--;
  236.     }
  237.     }
  238.  
  239.     }///////////////////////////////////////*rozmieszczanie trzymasztowcow*////////////////////////////////////////
  240. for (int a = 0; a < trzy; a++)
  241.   {
  242.     cout << "Teraz podaj koordynaty dzioba TRZYMASZTOWCA i (po spacji)kierunek, w ktorym ma byc zwrocony(lewo,prawo,gora,dol)(np.B5 dol - umieszczasz statek na B5 i C5 i D5). Pamietaj, ze rozne statki nie moga sie stykac burtami:" << endl
  243.          << endl;
  244.     string kord, kierunek;
  245.     cin >> kord>>kierunek;
  246.     bool mozliwosc_rozstawienia = true;
  247.     int rzad, kolumna;
  248.     if (kord.size() == 2)
  249.     {
  250.       kolumna = kord[0] - 'A' + 1;
  251.       rzad = kord[1] - '0';
  252.     }
  253.     else
  254.     {
  255.       rzad = 10;                  //cyferki(gora)
  256.       kolumna = kord[0] - 65 + 1; //literki(bok)
  257.     }
  258.         if (kierunek[0]=='g'){
  259.         if (kolumna!=1&&kolumna!=2&&plansza1[kolumna][rzad] == "-" && plansza1[kolumna-1][rzad-1] == "-" && plansza1[kolumna-1][rzad] == "-" && plansza1[kolumna-1][rzad+1] == "-" && plansza1[kolumna][rzad-1] == "-" && plansza1[kolumna][rzad+1] == "-" && plansza1[kolumna+1][rzad-1] == "-" && plansza1[kolumna+1][rzad] == "-" && plansza1[kolumna+1][rzad+1] == "-"&&plansza1[kolumna-2][rzad-1] == "-" &&plansza1[kolumna-2][rzad] == "-" &&plansza1[kolumna-2][rzad+1] == "-"&&plansza1[kolumna-3][rzad-1] == "-"&&plansza1[kolumna-3][rzad] == "-"&&plansza1[kolumna-3][rzad+1] == "-")
  260.     {
  261.       plansza1[kolumna][rzad] = "S";
  262.       plansza1[kolumna-1][rzad] = "S";
  263.       plansza1[kolumna-2][rzad] = "S";
  264.       wyswietl_p1((string *)plansza1);
  265.     }
  266.     else {
  267.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  268.       a--;
  269.     }}
  270.     else if (kierunek[0]=='d'){
  271.         if (kolumna!=10&&kolumna!=9&&plansza1[kolumna][rzad] == "-" && plansza1[kolumna-1][rzad-1] == "-" && plansza1[kolumna-1][rzad] == "-" && plansza1[kolumna-1][rzad+1] == "-" && plansza1[kolumna][rzad-1] == "-" && plansza1[kolumna][rzad+1] == "-" && plansza1[kolumna+1][rzad-1] == "-" && plansza1[kolumna+1][rzad] == "-" && plansza1[kolumna+1][rzad+1] == "-"&&plansza1[kolumna+2][rzad-1] == "-" &&plansza1[kolumna+2][rzad] == "-" &&plansza1[kolumna+2][rzad+1] == "-"&&plansza1[kolumna+3][rzad+1] == "-"&&plansza1[kolumna+3][rzad] == "-"&&plansza1[kolumna+3][rzad-1] == "-")
  272.     {
  273.       plansza1[kolumna][rzad] = "S";
  274.       plansza1[kolumna+1][rzad] = "S";
  275.       plansza1[kolumna+2][rzad] = "S";
  276.       wyswietl_p1((string *)plansza1);
  277.     }
  278.     else {
  279.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  280.       a--;
  281.     }}
  282.     else if (kierunek[0]=='l'){
  283.         if (rzad!=1&&rzad!=2&&plansza1[kolumna][rzad] == "-" && plansza1[kolumna-1][rzad-1] == "-" && plansza1[kolumna-1][rzad] == "-" && plansza1[kolumna-1][rzad+1] == "-" && plansza1[kolumna][rzad-1] == "-" && plansza1[kolumna][rzad+1] == "-" && plansza1[kolumna+1][rzad-1] == "-" && plansza1[kolumna+1][rzad] == "-" && plansza1[kolumna+1][rzad+1] == "-"&&plansza1[kolumna-1][rzad-2] == "-" &&plansza1[kolumna][rzad-2] == "-" &&plansza1[kolumna+1][rzad-2] == "-"&& plansza1[kolumna-1][rzad-3] == "-"&& plansza1[kolumna][rzad-3] == "-"&& plansza1[kolumna+1][rzad-3] == "-")
  284.     {
  285.       plansza1[kolumna][rzad] = "S";
  286.       plansza1[kolumna][rzad-1] = "S";
  287.       plansza1[kolumna][rzad-2] = "S";
  288.       wyswietl_p1((string *)plansza1);
  289.     }
  290.     else {
  291.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  292.       a--;
  293.     }}
  294.     else if (kierunek[0]=='p'){
  295.         if (rzad!=10&&rzad!=9&&plansza1[kolumna][rzad] == "-" && plansza1[kolumna-1][rzad-1] == "-" && plansza1[kolumna-1][rzad] == "-" && plansza1[kolumna-1][rzad+1] == "-" && plansza1[kolumna][rzad-1] == "-" && plansza1[kolumna][rzad+1] == "-" && plansza1[kolumna+1][rzad-1] == "-" && plansza1[kolumna+1][rzad] == "-" && plansza1[kolumna+1][rzad+1] == "-"&&plansza1[kolumna-1][rzad+2] == "-" &&plansza1[kolumna][rzad+2] == "-" &&plansza1[kolumna+1][rzad+2] == "-"&& plansza1[kolumna-1][rzad+3] == "-"&& plansza1[kolumna][rzad+3] == "-"&& plansza1[kolumna+1][rzad+3] == "-")
  296.     {
  297.       plansza1[kolumna][rzad] = "S";
  298.       plansza1[kolumna][rzad+1] = "S";
  299.       plansza1[kolumna][rzad+2] = "S";
  300.       wyswietl_p1((string *)plansza1);
  301.     }
  302.     else {
  303.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  304.       a--;
  305.     }}
  306.   }
  307. for (int a = 0; a < cztero; a++)
  308.   {
  309.     cout << "Teraz podaj koordynaty dzioba CZTEROMASZTOWCA i (po spacji)kierunek, w ktorym ma byc zwrocony(lewo,prawo,gora,dol). Pamietaj, ze rozne statki nie moga sie stykac burtami:" << endl
  310.          << endl;
  311.     string kord, kierunek;
  312.     cin >> kord>>kierunek;
  313.     bool mozliwosc_rozstawienia = true;
  314.     int rzad, kolumna;
  315.     if (kord.size() == 2)
  316.     {
  317.       kolumna = kord[0] - 'A' + 1;
  318.       rzad = kord[1] - '0';
  319.     }
  320.     else
  321.     {
  322.       rzad = 10;                  //cyferki(gora)
  323.       kolumna = kord[0] - 65 + 1; //literki(bok)
  324.     }
  325.         if (kierunek[0]=='g'){
  326.         if (kolumna!=1&&kolumna!=2&&kolumna!=3&&plansza1[kolumna][rzad] == "-" && plansza1[kolumna-1][rzad-1] == "-" && plansza1[kolumna-1][rzad] == "-" && plansza1[kolumna-1][rzad+1] == "-" && plansza1[kolumna][rzad-1] == "-" && plansza1[kolumna][rzad+1] == "-" && plansza1[kolumna+1][rzad-1] == "-" && plansza1[kolumna+1][rzad] == "-" && plansza1[kolumna+1][rzad+1] == "-"&&plansza1[kolumna-2][rzad-1] == "-" &&plansza1[kolumna-2][rzad] == "-" &&plansza1[kolumna-2][rzad+1] == "-"&&plansza1[kolumna-3][rzad-1] == "-"&&plansza1[kolumna-3][rzad] == "-"&&plansza1[kolumna-3][rzad+1] == "-"&&plansza1[kolumna-4][rzad+1] == "-"&&plansza1[kolumna-4][rzad] == "-"&&plansza1[kolumna-4][rzad-1] == "-")
  327.     {
  328.       plansza1[kolumna][rzad] = "S";
  329.       plansza1[kolumna-1][rzad] = "S";
  330.       plansza1[kolumna-2][rzad] = "S";
  331.       plansza1[kolumna-3][rzad] = "S";
  332.       wyswietl_p1((string *)plansza1);
  333.     }
  334.     else {
  335.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  336.       a--;
  337.     }}
  338.     else if (kierunek[0]=='d'){
  339.         if (kolumna!=10&&kolumna!=9&&kolumna!=8&&plansza1[kolumna][rzad] == "-" && plansza1[kolumna-1][rzad-1] == "-" && plansza1[kolumna-1][rzad] == "-" && plansza1[kolumna-1][rzad+1] == "-" && plansza1[kolumna][rzad-1] == "-" && plansza1[kolumna][rzad+1] == "-" && plansza1[kolumna+1][rzad-1] == "-" && plansza1[kolumna+1][rzad] == "-" && plansza1[kolumna+1][rzad+1] == "-"&&plansza1[kolumna+2][rzad-1] == "-" &&plansza1[kolumna+2][rzad] == "-" &&plansza1[kolumna+2][rzad+1] == "-"&&plansza1[kolumna+3][rzad+1] == "-"&&plansza1[kolumna+3][rzad] == "-"&&plansza1[kolumna+3][rzad-1] == "-"&&plansza1[kolumna+4][rzad-1] == "-"&&plansza1[kolumna+4][rzad] == "-"&&plansza1[kolumna+4][rzad+1] == "-")
  340.     {
  341.       plansza1[kolumna][rzad] = "S";
  342.       plansza1[kolumna+1][rzad] = "S";
  343.       plansza1[kolumna+2][rzad] = "S";
  344.       plansza1[kolumna+3][rzad] = "S";
  345.       wyswietl_p1((string *)plansza1);
  346.     }
  347.     else {
  348.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  349.       a--;
  350.     }}
  351.     else if (kierunek[0]=='l'){
  352.         if (rzad!=1&&rzad!=2&&rzad!=3&&plansza1[kolumna][rzad] == "-" && plansza1[kolumna-1][rzad-1] == "-" && plansza1[kolumna-1][rzad] == "-" && plansza1[kolumna-1][rzad+1] == "-" && plansza1[kolumna][rzad-1] == "-" && plansza1[kolumna][rzad+1] == "-" && plansza1[kolumna+1][rzad-1] == "-" && plansza1[kolumna+1][rzad] == "-" && plansza1[kolumna+1][rzad+1] == "-"&&plansza1[kolumna-1][rzad-2] == "-" &&plansza1[kolumna][rzad-2] == "-" &&plansza1[kolumna+1][rzad-2] == "-"&& plansza1[kolumna-1][rzad-3] == "-"&& plansza1[kolumna][rzad-3] == "-"&& plansza1[kolumna+1][rzad-3] == "-"&& plansza1[kolumna+1][rzad-4] == "-"&& plansza1[kolumna-1][rzad-4] == "-"&& plansza1[kolumna][rzad-4] == "-")
  353.     {
  354.       plansza1[kolumna][rzad] = "S";
  355.       plansza1[kolumna][rzad-1] = "S";
  356.       plansza1[kolumna][rzad-2] = "S";
  357.       plansza1[kolumna][rzad-3] = "S";
  358.       wyswietl_p1((string *)plansza1);
  359.     }
  360.     else {
  361.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  362.       a--;
  363.     }}
  364.     else if (kierunek[0]=='p'){
  365.         if (rzad!=10&&rzad!=9&&rzad!=8&&plansza1[kolumna][rzad] == "-" && plansza1[kolumna-1][rzad-1] == "-" && plansza1[kolumna-1][rzad] == "-" && plansza1[kolumna-1][rzad+1] == "-" && plansza1[kolumna][rzad-1] == "-" && plansza1[kolumna][rzad+1] == "-" && plansza1[kolumna+1][rzad-1] == "-" && plansza1[kolumna+1][rzad] == "-" && plansza1[kolumna+1][rzad+1] == "-"&&plansza1[kolumna-1][rzad+2] == "-" &&plansza1[kolumna][rzad+2] == "-" &&plansza1[kolumna+1][rzad+2] == "-"&& plansza1[kolumna-1][rzad+3] == "-"&& plansza1[kolumna][rzad+3] == "-"&& plansza1[kolumna+1][rzad+3] == "-"&& plansza1[kolumna-1][rzad+4] == "-"&& plansza1[kolumna][rzad+4] == "-"&& plansza1[kolumna+1][rzad+4] == "-")
  366.     {
  367.       plansza1[kolumna][rzad] = "S";
  368.       plansza1[kolumna][rzad+1] = "S";
  369.       plansza1[kolumna][rzad+2] = "S";
  370.       plansza1[kolumna][rzad+3] = "S";
  371.       wyswietl_p1((string *)plansza1);
  372.     }
  373.     else {
  374.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  375.       a--;
  376.     }}
  377.   }
  378.   for (int a = 0; a < piecio; a++)
  379.   {
  380.     cout << "Teraz podaj koordynaty dzioba PIECIOMASZTOWCA i (po spacji)kierunek, w ktorym ma byc zwrocony(lewo,prawo,gora,dol)(np.B5 dol). Pamietaj, ze rozne statki nie moga sie stykac burtami:" << endl
  381.          << endl;
  382.     string kord, kierunek;
  383.     cin >> kord>>kierunek;
  384.     bool mozliwosc_rozstawienia = true;
  385.     int rzad, kolumna;
  386.     if (kord.size() == 2)
  387.     {
  388.       kolumna = kord[0] - 'A' + 1;
  389.       rzad = kord[1] - '0';
  390.     }
  391.     else
  392.     {
  393.       rzad = 10;                  //cyferki(gora)
  394.       kolumna = kord[0] - 65 + 1; //literki(bok)
  395.     }
  396.         if (kierunek[0]=='g'){
  397.         if (kolumna!=1&&kolumna!=2&&kolumna!=3&&kolumna!=4&&plansza1[kolumna][rzad] == "-" && plansza1[kolumna-1][rzad-1] == "-" && plansza1[kolumna-1][rzad] == "-" && plansza1[kolumna-1][rzad+1] == "-" && plansza1[kolumna][rzad-1] == "-" && plansza1[kolumna][rzad+1] == "-" && plansza1[kolumna+1][rzad-1] == "-" && plansza1[kolumna+1][rzad] == "-" && plansza1[kolumna+1][rzad+1] == "-"&&plansza1[kolumna-2][rzad-1] == "-" &&plansza1[kolumna-2][rzad] == "-" &&plansza1[kolumna-2][rzad+1] == "-"&&plansza1[kolumna-3][rzad-1] == "-"&&plansza1[kolumna-3][rzad] == "-"&&plansza1[kolumna-3][rzad+1] == "-"&&plansza1[kolumna-4][rzad+1] == "-"&&plansza1[kolumna-4][rzad] == "-"&&plansza1[kolumna-4][rzad-1] == "-"&&plansza1[kolumna-5][rzad+1] == "-"&&plansza1[kolumna-5][rzad] == "-"&&plansza1[kolumna-5][rzad-1] == "-")
  398.     {
  399.       plansza1[kolumna][rzad] = "S";
  400.       plansza1[kolumna-1][rzad] = "S";
  401.       plansza1[kolumna-2][rzad] = "S";
  402.       plansza1[kolumna-3][rzad] = "S";
  403.       plansza1[kolumna-4][rzad] = "S";
  404.       wyswietl_p1((string *)plansza1);
  405.     }
  406.     else {
  407.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  408.       a--;
  409.     }}
  410.     else if (kierunek[0]=='d'){
  411.         if (kolumna!=10&&kolumna!=9&&kolumna!=8&&kolumna!=7&&plansza1[kolumna][rzad] == "-" && plansza1[kolumna-1][rzad-1] == "-" && plansza1[kolumna-1][rzad] == "-" && plansza1[kolumna-1][rzad+1] == "-" && plansza1[kolumna][rzad-1] == "-" && plansza1[kolumna][rzad+1] == "-" && plansza1[kolumna+1][rzad-1] == "-" && plansza1[kolumna+1][rzad] == "-" && plansza1[kolumna+1][rzad+1] == "-"&&plansza1[kolumna+2][rzad-1] == "-" &&plansza1[kolumna+2][rzad] == "-" &&plansza1[kolumna+2][rzad+1] == "-"&&plansza1[kolumna+3][rzad+1] == "-"&&plansza1[kolumna+3][rzad] == "-"&&plansza1[kolumna+3][rzad-1] == "-"&&plansza1[kolumna+4][rzad-1] == "-"&&plansza1[kolumna+4][rzad] == "-"&&plansza1[kolumna+4][rzad+1] == "-"&&plansza1[kolumna+5][rzad+1] == "-"&&plansza1[kolumna+5][rzad] == "-"&&plansza1[kolumna+5][rzad-1] == "-")
  412.     {
  413.       plansza1[kolumna][rzad] = "S";
  414.       plansza1[kolumna+1][rzad] = "S";
  415.       plansza1[kolumna+2][rzad] = "S";
  416.       plansza1[kolumna+3][rzad] = "S";
  417.       plansza1[kolumna+4][rzad] = "S";
  418.       wyswietl_p1((string *)plansza1);
  419.     }
  420.     else {
  421.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  422.       a--;
  423.     }}
  424.     else if (kierunek[0]=='l'){
  425.         if (rzad!=1&&rzad!=2&&rzad!=3&&rzad!=4&&plansza1[kolumna][rzad] == "-" && plansza1[kolumna-1][rzad-1] == "-" && plansza1[kolumna-1][rzad] == "-" && plansza1[kolumna-1][rzad+1] == "-" && plansza1[kolumna][rzad-1] == "-" && plansza1[kolumna][rzad+1] == "-" && plansza1[kolumna+1][rzad-1] == "-" && plansza1[kolumna+1][rzad] == "-" && plansza1[kolumna+1][rzad+1] == "-"&&plansza1[kolumna-1][rzad-2] == "-" &&plansza1[kolumna][rzad-2] == "-" &&plansza1[kolumna+1][rzad-2] == "-"&& plansza1[kolumna-1][rzad-3] == "-"&& plansza1[kolumna][rzad-3] == "-"&& plansza1[kolumna+1][rzad-3] == "-"&& plansza1[kolumna+1][rzad-4] == "-"&& plansza1[kolumna-1][rzad-4] == "-"&& plansza1[kolumna][rzad-4] == "-"&& plansza1[kolumna-1][rzad-5] == "-"&& plansza1[kolumna][rzad-5] == "-"&& plansza1[kolumna+1][rzad-5] == "-")
  426.     {
  427.       plansza1[kolumna][rzad] = "S";
  428.       plansza1[kolumna][rzad-1] = "S";
  429.       plansza1[kolumna][rzad-2] = "S";
  430.       plansza1[kolumna][rzad-3] = "S";
  431.       plansza1[kolumna][rzad-4] = "S";
  432.       wyswietl_p1((string *)plansza1);
  433.     }
  434.     else {
  435.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  436.       a--;
  437.     }}
  438.     else if (kierunek[0]=='p'){
  439.         if (rzad!=10&&rzad!=9&&rzad!=8&&rzad!=7&&plansza1[kolumna][rzad] == "-" && plansza1[kolumna-1][rzad-1] == "-" && plansza1[kolumna-1][rzad] == "-" && plansza1[kolumna-1][rzad+1] == "-" && plansza1[kolumna][rzad-1] == "-" && plansza1[kolumna][rzad+1] == "-" && plansza1[kolumna+1][rzad-1] == "-" && plansza1[kolumna+1][rzad] == "-" && plansza1[kolumna+1][rzad+1] == "-"&&plansza1[kolumna-1][rzad+2] == "-" &&plansza1[kolumna][rzad+2] == "-" &&plansza1[kolumna+1][rzad+2] == "-"&& plansza1[kolumna-1][rzad+3] == "-"&& plansza1[kolumna][rzad+3] == "-"&& plansza1[kolumna+1][rzad+3] == "-"&& plansza1[kolumna-1][rzad+4] == "-"&& plansza1[kolumna][rzad+4] == "-"&& plansza1[kolumna+1][rzad+4] == "-"&& plansza1[kolumna-1][rzad+5] == "-"&& plansza1[kolumna][rzad+5] == "-"&& plansza1[kolumna+1][rzad+5] == "-")
  440.     {
  441.       plansza1[kolumna][rzad] = "S";
  442.       plansza1[kolumna][rzad+1] = "S";
  443.       plansza1[kolumna][rzad+2] = "S";
  444.       plansza1[kolumna][rzad+3] = "S";
  445.       plansza1[kolumna][rzad+4] = "S";
  446.       wyswietl_p1((string *)plansza1);
  447.     }
  448.     else {
  449.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  450.       a--;
  451.     }}
  452.   }
  453.   ////////////////////////////////////**************************************************************************************************************////////////////////////////////////////////////////////
  454.   cout<<"Teraz gracz nr2 bedzie rozmieszczal swoje statki. Graczu nr1 - nie podgladaj!"<<endl
  455.   <<endl;
  456.   for (int a = 0; a < jedno; a++)
  457.   {
  458.     cout << "Podaj koordynaty jednomasztowca(np.B5). Pamietaj, ze rozne statki nie moga sie stykac burtami:" << endl
  459.          << endl;
  460.     string kord;
  461.     cin >> kord;
  462.     bool mozliwosc_rozstawienia = true;
  463.     int rzad, kolumna;
  464.     if (kord.size() == 2)
  465.     {
  466.       kolumna = kord[0] - 'A' + 1;
  467.       rzad = kord[1] - '0';
  468.     }
  469.     else
  470.     {
  471.       rzad = 10;                  //cyferki(gora)
  472.       kolumna = kord[0] - 65 + 1; //literki(bok)
  473.     }
  474.     if (plansza2[kolumna][rzad] == "-" && plansza2[kolumna-1][rzad-1] == "-" && plansza2[kolumna-1][rzad] == "-" && plansza2[kolumna-1][rzad+1] == "-" && plansza2[kolumna][rzad-1] == "-" && plansza2[kolumna][rzad+1] == "-" && plansza2[kolumna+1][rzad-1] == "-" && plansza2[kolumna+1][rzad] == "-" && plansza2[kolumna+1][rzad+1] == "-")
  475.     {
  476.       plansza2[kolumna][rzad] = "S"; // SWAP kolumna <> rzad
  477.       wyswietl_p2((string *)plansza2);
  478.     }
  479.     else
  480.     {
  481.               cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami. Sprobuj ustawic statek jeszcze raz" << endl<<endl;
  482.       a--;
  483.     }
  484.   }////////////////////////*rozstawianie dwumasztowcow*///////////////////
  485. for (int a = 0; a < dwu; a++)
  486.   {
  487.     cout << "Teraz podaj koordynaty dzioba DWUMASZTOWCA i (po spacji)kierunek, w ktorym ma byc zwrocony(lewo,prawo,gora,dol)(np.B5 gora - umieszczasz statek na B5 i A5). Pamietaj, ze rozne statki nie moga sie stykac burtami:" << endl
  488.          << endl;
  489.     string kord, kierunek;
  490.     cin >> kord>>kierunek;
  491.     bool mozliwosc_rozstawienia = true;
  492.     int rzad, kolumna;
  493.     if (kord.size() == 2)
  494.     {
  495.       kolumna = kord[0] - 'A' + 1;
  496.       rzad = kord[1] - '0';
  497.     }
  498.     else
  499.     {
  500.       rzad = 10;                  //cyferki(gora)
  501.       kolumna = kord[0] - 65 + 1; //literki(bok)
  502.     }
  503.         if (kierunek[0]=='g'){
  504.         if (kolumna!=1&&plansza2[kolumna][rzad] == "-" && plansza2[kolumna-1][rzad-1] == "-" && plansza2[kolumna-1][rzad] == "-" && plansza2[kolumna-1][rzad+1] == "-" && plansza2[kolumna][rzad-1] == "-" && plansza2[kolumna][rzad+1] == "-" && plansza2[kolumna+1][rzad-1] == "-" && plansza2[kolumna+1][rzad] == "-" && plansza2[kolumna+1][rzad+1] == "-"&&plansza2[kolumna-2][rzad-1] == "-" &&plansza2[kolumna-2][rzad] == "-" &&plansza2[kolumna-2][rzad+1] == "-")
  505.     {
  506.       plansza2[kolumna][rzad] = "S";
  507.       plansza2[kolumna-1][rzad] = "S";
  508.       wyswietl_p2((string *)plansza2);
  509.     }
  510.     else {
  511.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  512.       a--;
  513.     }}
  514.     else if (kierunek[0]=='d'){
  515.         if (kolumna!=10&&plansza2[kolumna][rzad] == "-" && plansza2[kolumna-1][rzad-1] == "-" && plansza2[kolumna-1][rzad] == "-" && plansza2[kolumna-1][rzad+1] == "-" && plansza2[kolumna][rzad-1] == "-" && plansza2[kolumna][rzad+1] == "-" && plansza2[kolumna+1][rzad-1] == "-" && plansza2[kolumna+1][rzad] == "-" && plansza2[kolumna+1][rzad+1] == "-"&&plansza2[kolumna+2][rzad-1] == "-" &&plansza2[kolumna+2][rzad] == "-" &&plansza2[kolumna+2][rzad+1] == "-")
  516.     {
  517.       plansza2[kolumna][rzad] = "S";
  518.       plansza2[kolumna+1][rzad] = "S";
  519.       wyswietl_p2((string *)plansza2);
  520.     }
  521.     else {
  522.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  523.       a--;
  524.     }}
  525.     else if (kierunek[0]=='l'){
  526.         if (rzad!=1&&plansza2[kolumna][rzad] == "-" && plansza2[kolumna-1][rzad-1] == "-" && plansza2[kolumna-1][rzad] == "-" && plansza2[kolumna-1][rzad+1] == "-" && plansza2[kolumna][rzad-1] == "-" && plansza2[kolumna][rzad+1] == "-" && plansza2[kolumna+1][rzad-1] == "-" && plansza2[kolumna+1][rzad] == "-" && plansza2[kolumna+1][rzad+1] == "-"&& plansza2[kolumna-1][rzad-2] == "-"&& plansza2[kolumna][rzad-2] == "-"&& plansza2[kolumna+1][rzad-2] == "-")
  527.     {
  528.       plansza2[kolumna][rzad] = "S";
  529.       plansza2[kolumna][rzad-1] = "S";
  530.       wyswietl_p2((string *)plansza2);
  531.     }
  532.     else {
  533.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  534.       a--;
  535.     }}
  536.     else if (kierunek[0]=='p'){
  537.         if (rzad!=10&&plansza2[kolumna][rzad] == "-" && plansza2[kolumna-1][rzad-1] == "-" && plansza2[kolumna-1][rzad] == "-" && plansza2[kolumna-1][rzad+1] == "-" && plansza2[kolumna][rzad-1] == "-" && plansza2[kolumna][rzad+1] == "-" && plansza2[kolumna+1][rzad-1] == "-" && plansza2[kolumna+1][rzad] == "-" && plansza2[kolumna+1][rzad+1] == "-"&& plansza2[kolumna-1][rzad+2] == "-"&& plansza2[kolumna][rzad+2] == "-"&& plansza2[kolumna+1][rzad+2] == "-")
  538.     {
  539.       plansza2[kolumna][rzad] = "S";
  540.       plansza2[kolumna][rzad+1] = "S";
  541.       wyswietl_p2((string *)plansza2);
  542.     }
  543.     else {
  544.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  545.       a--;
  546.     }
  547.     }
  548.  
  549.     }///////////////////////////////////////*rozmieszczanie trzymasztowcow*////////////////////////////////////////
  550. for (int a = 0; a < trzy; a++)
  551.   {
  552.     cout << "Teraz podaj koordynaty dzioba TRZYMASZTOWCA i (po spacji)kierunek, w ktorym ma byc zwrocony(lewo,prawo,gora,dol)(np.B5 dol - umieszczasz statek na B5 i C5 i D5). Pamietaj, ze rozne statki nie moga sie stykac burtami:" << endl
  553.          << endl;
  554.     string kord, kierunek;
  555.     cin >> kord>>kierunek;
  556.     bool mozliwosc_rozstawienia = true;
  557.     int rzad, kolumna;
  558.     if (kord.size() == 2)
  559.     {
  560.       kolumna = kord[0] - 'A' + 1;
  561.       rzad = kord[1] - '0';
  562.     }
  563.     else
  564.     {
  565.       rzad = 10;                  //cyferki(gora)
  566.       kolumna = kord[0] - 65 + 1; //literki(bok)
  567.     }
  568.         if (kierunek[0]=='g'){
  569.         if (kolumna!=1&&kolumna!=2&&plansza2[kolumna][rzad] == "-" && plansza2[kolumna-1][rzad-1] == "-" && plansza2[kolumna-1][rzad] == "-" && plansza2[kolumna-1][rzad+1] == "-" && plansza2[kolumna][rzad-1] == "-" && plansza2[kolumna][rzad+1] == "-" && plansza2[kolumna+1][rzad-1] == "-" && plansza2[kolumna+1][rzad] == "-" && plansza2[kolumna+1][rzad+1] == "-"&&plansza2[kolumna-2][rzad-1] == "-" &&plansza2[kolumna-2][rzad] == "-" &&plansza2[kolumna-2][rzad+1] == "-"&&plansza2[kolumna-3][rzad-1] == "-"&&plansza2[kolumna-3][rzad] == "-"&&plansza2[kolumna-3][rzad+1] == "-")
  570.     {
  571.       plansza2[kolumna][rzad] = "S";
  572.       plansza2[kolumna-1][rzad] = "S";
  573.       plansza2[kolumna-2][rzad] = "S";
  574.       wyswietl_p2((string *)plansza2);
  575.     }
  576.     else {
  577.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  578.       a--;
  579.     }}
  580.     else if (kierunek[0]=='d'){
  581.         if (kolumna!=10&&kolumna!=9&&plansza2[kolumna][rzad] == "-" && plansza2[kolumna-1][rzad-1] == "-" && plansza2[kolumna-1][rzad] == "-" && plansza2[kolumna-1][rzad+1] == "-" && plansza2[kolumna][rzad-1] == "-" && plansza2[kolumna][rzad+1] == "-" && plansza2[kolumna+1][rzad-1] == "-" && plansza2[kolumna+1][rzad] == "-" && plansza2[kolumna+1][rzad+1] == "-"&&plansza2[kolumna+2][rzad-1] == "-" &&plansza2[kolumna+2][rzad] == "-" &&plansza2[kolumna+2][rzad+1] == "-"&&plansza2[kolumna+3][rzad+1] == "-"&&plansza2[kolumna+3][rzad] == "-"&&plansza2[kolumna+3][rzad-1] == "-")
  582.     {
  583.       plansza2[kolumna][rzad] = "S";
  584.       plansza2[kolumna+1][rzad] = "S";
  585.       plansza2[kolumna+2][rzad] = "S";
  586.       wyswietl_p2((string *)plansza2);
  587.     }
  588.     else {
  589.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  590.       a--;
  591.     }}
  592.     else if (kierunek[0]=='l'){
  593.         if (rzad!=1&&rzad!=2&&plansza2[kolumna][rzad] == "-" && plansza2[kolumna-1][rzad-1] == "-" && plansza2[kolumna-1][rzad] == "-" && plansza2[kolumna-1][rzad+1] == "-" && plansza2[kolumna][rzad-1] == "-" && plansza2[kolumna][rzad+1] == "-" && plansza2[kolumna+1][rzad-1] == "-" && plansza2[kolumna+1][rzad] == "-" && plansza2[kolumna+1][rzad+1] == "-"&&plansza2[kolumna-1][rzad-2] == "-" &&plansza2[kolumna][rzad-2] == "-" &&plansza2[kolumna+1][rzad-2] == "-"&& plansza2[kolumna-1][rzad-3] == "-"&& plansza2[kolumna][rzad-3] == "-"&& plansza2[kolumna+1][rzad-3] == "-")
  594.     {
  595.       plansza2[kolumna][rzad] = "S";
  596.       plansza2[kolumna][rzad-1] = "S";
  597.       plansza2[kolumna][rzad-2] = "S";
  598.       wyswietl_p2((string *)plansza2);
  599.     }
  600.     else {
  601.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  602.       a--;
  603.     }}
  604.     else if (kierunek[0]=='p'){
  605.         if (rzad!=10&&rzad!=9&&plansza2[kolumna][rzad] == "-" && plansza2[kolumna-1][rzad-1] == "-" && plansza2[kolumna-1][rzad] == "-" && plansza2[kolumna-1][rzad+1] == "-" && plansza2[kolumna][rzad-1] == "-" && plansza2[kolumna][rzad+1] == "-" && plansza2[kolumna+1][rzad-1] == "-" && plansza2[kolumna+1][rzad] == "-" && plansza2[kolumna+1][rzad+1] == "-"&&plansza2[kolumna-1][rzad+2] == "-" &&plansza2[kolumna][rzad+2] == "-" &&plansza2[kolumna+1][rzad+2] == "-"&& plansza2[kolumna-1][rzad+3] == "-"&& plansza2[kolumna][rzad+3] == "-"&& plansza2[kolumna+1][rzad+3] == "-")
  606.     {
  607.       plansza2[kolumna][rzad] = "S";
  608.       plansza2[kolumna][rzad+1] = "S";
  609.       plansza2[kolumna][rzad+2] = "S";
  610.       wyswietl_p2((string *)plansza2);
  611.     }
  612.     else {
  613.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  614.       a--;
  615.     }}
  616.   }
  617. for (int a = 0; a < cztero; a++)
  618.   {
  619.     cout << "Teraz podaj koordynaty dzioba CZTEROMASZTOWCA i (po spacji)kierunek, w ktorym ma byc zwrocony(lewo,prawo,gora,dol). Pamietaj, ze rozne statki nie moga sie stykac burtami:" << endl
  620.          << endl;
  621.     string kord, kierunek;
  622.     cin >> kord>>kierunek;
  623.     bool mozliwosc_rozstawienia = true;
  624.     int rzad, kolumna;
  625.     if (kord.size() == 2)
  626.     {
  627.       kolumna = kord[0] - 'A' + 1;
  628.       rzad = kord[1] - '0';
  629.     }
  630.     else
  631.     {
  632.       rzad = 10;                  //cyferki(gora)
  633.       kolumna = kord[0] - 65 + 1; //literki(bok)
  634.     }
  635.         if (kierunek[0]=='g'){
  636.         if (kolumna!=1&&kolumna!=2&&kolumna!=3&&plansza2[kolumna][rzad] == "-" && plansza2[kolumna-1][rzad-1] == "-" && plansza2[kolumna-1][rzad] == "-" && plansza2[kolumna-1][rzad+1] == "-" && plansza2[kolumna][rzad-1] == "-" && plansza2[kolumna][rzad+1] == "-" && plansza2[kolumna+1][rzad-1] == "-" && plansza2[kolumna+1][rzad] == "-" && plansza2[kolumna+1][rzad+1] == "-"&&plansza2[kolumna-2][rzad-1] == "-" &&plansza2[kolumna-2][rzad] == "-" &&plansza2[kolumna-2][rzad+1] == "-"&&plansza2[kolumna-3][rzad-1] == "-"&&plansza2[kolumna-3][rzad] == "-"&&plansza2[kolumna-3][rzad+1] == "-"&&plansza2[kolumna-4][rzad+1] == "-"&&plansza2[kolumna-4][rzad] == "-"&&plansza2[kolumna-4][rzad-1] == "-")
  637.     {
  638.       plansza2[kolumna][rzad] = "S";
  639.       plansza2[kolumna-1][rzad] = "S";
  640.       plansza2[kolumna-2][rzad] = "S";
  641.       plansza2[kolumna-3][rzad] = "S";
  642.       wyswietl_p2((string *)plansza2);
  643.     }
  644.     else {
  645.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  646.       a--;
  647.     }}
  648.     else if (kierunek[0]=='d'){
  649.         if (kolumna!=10&&kolumna!=9&&kolumna!=8&&plansza2[kolumna][rzad] == "-" && plansza2[kolumna-1][rzad-1] == "-" && plansza2[kolumna-1][rzad] == "-" && plansza2[kolumna-1][rzad+1] == "-" && plansza2[kolumna][rzad-1] == "-" && plansza2[kolumna][rzad+1] == "-" && plansza2[kolumna+1][rzad-1] == "-" && plansza2[kolumna+1][rzad] == "-" && plansza2[kolumna+1][rzad+1] == "-"&&plansza2[kolumna+2][rzad-1] == "-" &&plansza2[kolumna+2][rzad] == "-" &&plansza2[kolumna+2][rzad+1] == "-"&&plansza2[kolumna+3][rzad+1] == "-"&&plansza2[kolumna+3][rzad] == "-"&&plansza2[kolumna+3][rzad-1] == "-"&&plansza2[kolumna+4][rzad-1] == "-"&&plansza2[kolumna+4][rzad] == "-"&&plansza2[kolumna+4][rzad+1] == "-")
  650.     {
  651.       plansza2[kolumna][rzad] = "S";
  652.       plansza2[kolumna+1][rzad] = "S";
  653.       plansza2[kolumna+2][rzad] = "S";
  654.       plansza2[kolumna+3][rzad] = "S";
  655.       wyswietl_p2((string *)plansza2);
  656.     }
  657.     else {
  658.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  659.       a--;
  660.     }}
  661.     else if (kierunek[0]=='l'){
  662.         if (rzad!=1&&rzad!=2&&rzad!=3&&plansza2[kolumna][rzad] == "-" && plansza2[kolumna-1][rzad-1] == "-" && plansza2[kolumna-1][rzad] == "-" && plansza2[kolumna-1][rzad+1] == "-" && plansza2[kolumna][rzad-1] == "-" && plansza2[kolumna][rzad+1] == "-" && plansza2[kolumna+1][rzad-1] == "-" && plansza2[kolumna+1][rzad] == "-" && plansza2[kolumna+1][rzad+1] == "-"&&plansza2[kolumna-1][rzad-2] == "-" &&plansza2[kolumna][rzad-2] == "-" &&plansza2[kolumna+1][rzad-2] == "-"&& plansza2[kolumna-1][rzad-3] == "-"&& plansza2[kolumna][rzad-3] == "-"&& plansza2[kolumna+1][rzad-3] == "-"&& plansza2[kolumna+1][rzad-4] == "-"&& plansza2[kolumna-1][rzad-4] == "-"&& plansza2[kolumna][rzad-4] == "-")
  663.     {
  664.       plansza2[kolumna][rzad] = "S";
  665.       plansza2[kolumna][rzad-1] = "S";
  666.       plansza2[kolumna][rzad-2] = "S";
  667.       plansza2[kolumna][rzad-3] = "S";
  668.       wyswietl_p2((string *)plansza2);
  669.     }
  670.     else {
  671.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  672.       a--;
  673.     }}
  674.     else if (kierunek[0]=='p'){
  675.         if (rzad!=10&&rzad!=9&&rzad!=8&&plansza2[kolumna][rzad] == "-" && plansza2[kolumna-1][rzad-1] == "-" && plansza2[kolumna-1][rzad] == "-" && plansza2[kolumna-1][rzad+1] == "-" && plansza2[kolumna][rzad-1] == "-" && plansza2[kolumna][rzad+1] == "-" && plansza2[kolumna+1][rzad-1] == "-" && plansza2[kolumna+1][rzad] == "-" && plansza2[kolumna+1][rzad+1] == "-"&&plansza2[kolumna-1][rzad+2] == "-" &&plansza2[kolumna][rzad+2] == "-" &&plansza2[kolumna+1][rzad+2] == "-"&& plansza2[kolumna-1][rzad+3] == "-"&& plansza2[kolumna][rzad+3] == "-"&& plansza2[kolumna+1][rzad+3] == "-"&& plansza2[kolumna-1][rzad+4] == "-"&& plansza2[kolumna][rzad+4] == "-"&& plansza2[kolumna+1][rzad+4] == "-")
  676.     {
  677.       plansza2[kolumna][rzad] = "S";
  678.       plansza2[kolumna][rzad+1] = "S";
  679.       plansza2[kolumna][rzad+2] = "S";
  680.       plansza2[kolumna][rzad+3] = "S";
  681.       wyswietl_p2((string *)plansza2);
  682.     }
  683.     else {
  684.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  685.       a--;
  686.     }}
  687.   }
  688.   for (int a = 0; a < piecio; a++)
  689.   {
  690.     cout << "Teraz podaj koordynaty dzioba PIECIOMASZTOWCA i (po spacji)kierunek, w ktorym ma byc zwrocony(lewo,prawo,gora,dol)(np.B5 dol). Pamietaj, ze rozne statki nie moga sie stykac burtami:" << endl
  691.          << endl;
  692.     string kord, kierunek;
  693.     cin >> kord>>kierunek;
  694.     bool mozliwosc_rozstawienia = true;
  695.     int rzad, kolumna;
  696.     if (kord.size() == 2)
  697.     {
  698.       kolumna = kord[0] - 'A' + 1;
  699.       rzad = kord[1] - '0';
  700.     }
  701.     else
  702.     {
  703.       rzad = 10;                  //cyferki(gora)
  704.       kolumna = kord[0] - 65 + 1; //literki(bok)
  705.     }
  706.         if (kierunek[0]=='g'){
  707.         if (kolumna!=1&&kolumna!=2&&kolumna!=3&&kolumna!=4&&plansza2[kolumna][rzad] == "-" && plansza2[kolumna-1][rzad-1] == "-" && plansza2[kolumna-1][rzad] == "-" && plansza2[kolumna-1][rzad+1] == "-" && plansza2[kolumna][rzad-1] == "-" && plansza2[kolumna][rzad+1] == "-" && plansza2[kolumna+1][rzad-1] == "-" && plansza2[kolumna+1][rzad] == "-" && plansza2[kolumna+1][rzad+1] == "-"&&plansza2[kolumna-2][rzad-1] == "-" &&plansza2[kolumna-2][rzad] == "-" &&plansza2[kolumna-2][rzad+1] == "-"&&plansza2[kolumna-3][rzad-1] == "-"&&plansza2[kolumna-3][rzad] == "-"&&plansza2[kolumna-3][rzad+1] == "-"&&plansza2[kolumna-4][rzad+1] == "-"&&plansza2[kolumna-4][rzad] == "-"&&plansza2[kolumna-4][rzad-1] == "-"&&plansza1[kolumna-5][rzad+1] == "-"&&plansza2[kolumna-5][rzad] == "-"&&plansza2[kolumna-5][rzad-1] == "-")
  708.     {
  709.       plansza2[kolumna][rzad] = "S";
  710.       plansza2[kolumna-1][rzad] = "S";
  711.       plansza2[kolumna-2][rzad] = "S";
  712.       plansza2[kolumna-3][rzad] = "S";
  713.       plansza2[kolumna-4][rzad] = "S";
  714.       wyswietl_p2((string *)plansza2);
  715.     }
  716.     else {
  717.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  718.       a--;
  719.     }}
  720.     else if (kierunek[0]=='d'){
  721.         if (kolumna!=10&&kolumna!=9&&kolumna!=8&&kolumna!=7&&plansza2[kolumna][rzad] == "-" && plansza2[kolumna-1][rzad-1] == "-" && plansza2[kolumna-1][rzad] == "-" && plansza2[kolumna-1][rzad+1] == "-" && plansza2[kolumna][rzad-1] == "-" && plansza2[kolumna][rzad+1] == "-" && plansza2[kolumna+1][rzad-1] == "-" && plansza2[kolumna+1][rzad] == "-" && plansza2[kolumna+1][rzad+1] == "-"&&plansza2[kolumna+2][rzad-1] == "-" &&plansza2[kolumna+2][rzad] == "-" &&plansza2[kolumna+2][rzad+1] == "-"&&plansza2[kolumna+3][rzad+1] == "-"&&plansza2[kolumna+3][rzad] == "-"&&plansza2[kolumna+3][rzad-1] == "-"&&plansza2[kolumna+4][rzad-1] == "-"&&plansza2[kolumna+4][rzad] == "-"&&plansza2[kolumna+4][rzad+1] == "-"&&plansza2[kolumna+5][rzad+1] == "-"&&plansza2[kolumna+5][rzad] == "-"&&plansza2[kolumna+5][rzad-1] == "-")
  722.     {
  723.       plansza2[kolumna][rzad] = "S";
  724.       plansza2[kolumna+1][rzad] = "S";
  725.       plansza2[kolumna+2][rzad] = "S";
  726.       plansza2[kolumna+3][rzad] = "S";
  727.       plansza2[kolumna+4][rzad] = "S";
  728.       wyswietl_p2((string *)plansza2);
  729.     }
  730.     else {
  731.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  732.       a--;
  733.     }}
  734.     else if (kierunek[0]=='l'){
  735.         if (rzad!=1&&rzad!=2&&rzad!=3&&rzad!=4&&plansza2[kolumna][rzad] == "-" && plansza2[kolumna-1][rzad-1] == "-" && plansza2[kolumna-1][rzad] == "-" && plansza2[kolumna-1][rzad+1] == "-" && plansza2[kolumna][rzad-1] == "-" && plansza2[kolumna][rzad+1] == "-" && plansza2[kolumna+1][rzad-1] == "-" && plansza2[kolumna+1][rzad] == "-" && plansza2[kolumna+1][rzad+1] == "-"&&plansza2[kolumna-1][rzad-2] == "-" &&plansza2[kolumna][rzad-2] == "-" &&plansza2[kolumna+1][rzad-2] == "-"&& plansza2[kolumna-1][rzad-3] == "-"&& plansza2[kolumna][rzad-3] == "-"&& plansza2[kolumna+1][rzad-3] == "-"&& plansza2[kolumna+1][rzad-4] == "-"&& plansza2[kolumna-1][rzad-4] == "-"&& plansza2[kolumna][rzad-4] == "-"&& plansza2[kolumna-1][rzad-5] == "-"&& plansza2[kolumna][rzad-5] == "-"&& plansza2[kolumna+1][rzad-5] == "-")
  736.     {
  737.       plansza2[kolumna][rzad] = "S";
  738.       plansza2[kolumna][rzad-1] = "S";
  739.       plansza2[kolumna][rzad-2] = "S";
  740.       plansza2[kolumna][rzad-3] = "S";
  741.       plansza2[kolumna][rzad-4] = "S";
  742.       wyswietl_p2((string *)plansza2);
  743.     }
  744.     else {
  745.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  746.       a--;
  747.     }}
  748.     else if (kierunek[0]=='p'){
  749.         if (rzad!=10&&rzad!=9&&rzad!=8&&rzad!=7&&plansza2[kolumna][rzad] == "-" && plansza2[kolumna-1][rzad-1] == "-" && plansza2[kolumna-1][rzad] == "-" && plansza2[kolumna-1][rzad+1] == "-" && plansza2[kolumna][rzad-1] == "-" && plansza2[kolumna][rzad+1] == "-" && plansza2[kolumna+1][rzad-1] == "-" && plansza2[kolumna+1][rzad] == "-" && plansza2[kolumna+1][rzad+1] == "-"&&plansza2[kolumna-1][rzad+2] == "-" &&plansza2[kolumna][rzad+2] == "-" &&plansza2[kolumna+1][rzad+2] == "-"&& plansza2[kolumna-1][rzad+3] == "-"&& plansza2[kolumna][rzad+3] == "-"&& plansza2[kolumna+1][rzad+3] == "-"&& plansza2[kolumna-1][rzad+4] == "-"&& plansza2[kolumna][rzad+4] == "-"&& plansza2[kolumna+1][rzad+4] == "-"&& plansza2[kolumna-1][rzad+5] == "-"&& plansza2[kolumna][rzad+5] == "-"&& plansza2[kolumna+1][rzad+5] == "-")
  750.     {
  751.       plansza2[kolumna][rzad] = "S";
  752.       plansza2[kolumna][rzad+1] = "S";
  753.       plansza2[kolumna][rzad+2] = "S";
  754.       plansza2[kolumna][rzad+3] = "S";
  755.       plansza2[kolumna][rzad+4] = "S";
  756.       wyswietl_p2((string *)plansza2);
  757.     }
  758.     else {
  759.                 cout << "Nie mozesz umiescic 2 statkow w tym samym miejscu. Nie moga sie tez stykac burtami, oraz wychodzic poza plansze. Sprobuj ustawic statek jeszcze raz." << endl<<endl;
  760.       a--;
  761.     }}
  762.   }
  763. cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
  764. cout<< "                     Rozpoczyna sie bitwa!"<<endl;
  765.   while(hp1>0&&hp2>0)
  766.   {
  767.     cout << "Graczu nr1 - podaj koordynaty strzalu na gracza nr2 (np.B5):" << endl
  768.          << endl;
  769.         wyswietl_p02((string *)plansza02);
  770.     string kord;
  771.     cin >> kord;
  772.     int rzad, kolumna;
  773.  
  774.         if (kord.size() == 2)
  775.         {
  776.         kolumna = kord[0] - 'A' + 1;
  777.         rzad = kord[1] - '0';
  778.         }
  779.         else
  780.         {
  781.       rzad = 10;                  //cyferki(gora)
  782.       kolumna = kord[0] - 65 + 1; //literki(bok)
  783.         }
  784.         if (plansza2[kolumna][rzad]=="S"){
  785.         if(plansza2[kolumna-1][rzad]=="S"||plansza2[kolumna+1][rzad]=="S"||plansza2[kolumna][rzad+1]=="S"||plansza2[kolumna][rzad-1]=="S")
  786.         {
  787.         plansza02[kolumna][rzad]= "X";
  788.         plansza2[kolumna][rzad]= "X";
  789.         wyswietl_p02((string *)plansza02);
  790.         cout<<"Trafiony!"<<endl;
  791.         hp2--;
  792.         }
  793.         else
  794.         {
  795.             plansza02[kolumna][rzad]="X";
  796.              wyswietl_p02((string *)plansza02);
  797.                cout<<"Trafiony! Zatopiony!"<<endl;
  798.             hp2--;
  799.         }
  800.         }
  801.         else if (plansza2[kolumna][rzad]=="-")
  802.         {
  803.             plansza02[kolumna][rzad]="O";
  804.             wyswietl_p02((string *)plansza02);
  805.             cout<<"Pudlo!"<<endl;
  806.         }
  807.         if (hp2==0)
  808.             break;
  809.                 cout<<"Nacisnij dowolny klawisz aby kontynuowac"<<endl;
  810.         getch();
  811.         //////////////////////////strzal gracza nr2/////////////////////////////////////////////////
  812.           cout << "Graczu nr2 - podaj koordynaty strzalu na gracza nr1 (np.B5):" << endl
  813.          << endl;
  814.                wyswietl_p01((string *)plansza01);
  815.     string kord2;
  816.     cin >> kord2;
  817.     int rzad1, kolumna1;
  818.  
  819.         if (kord2.size() == 2)
  820.         {
  821.         kolumna1 = kord2[0] - 'A' + 1;
  822.         rzad1 = kord2[1] - '0';
  823.         }
  824.         else
  825.         {
  826.       rzad1 = 10;                  //cyferki(gora)
  827.       kolumna1 = kord2[0] - 65 + 1; //literki(bok)
  828.         }
  829.         if (plansza1[kolumna1][rzad1]=="S"){
  830.         if(plansza1[kolumna1-1][rzad1]=="S"||plansza1[kolumna1+1][rzad1]=="S"||plansza1[kolumna1][rzad1+1]=="S"||plansza1[kolumna1][rzad1-1]=="S")
  831.         {
  832.         plansza01[kolumna1][rzad1]= "X";
  833.         plansza1[kolumna1][rzad1]= "X";
  834.         wyswietl_p01((string *)plansza01);
  835.         cout<<"Trafiony!"<<endl;
  836.         hp1--;
  837.         }
  838.         else
  839.         {
  840.             plansza01[kolumna1][rzad1]="X";
  841.              wyswietl_p01((string *)plansza01);
  842.                cout<<"Trafiony! Zatopiony!"<<endl;
  843.             hp1--;
  844.         }
  845.         }
  846.         else if (plansza1[kolumna1][rzad1]=="-")
  847.         {
  848.             plansza01[kolumna1][rzad1]="O";
  849.             wyswietl_p01((string *)plansza01);
  850.             cout<<"Pudlo!"<<endl;
  851.         }
  852.           cout<<"Nacisnij dowolny klawisz aby kontynuowac"<<endl;
  853.         getch();
  854.     }
  855.     cout<<endl<<endl<<endl;
  856. if (hp2==0)
  857.     cout<<"Koniec! Gracz nr1 wygrywa!";
  858. else if (hp1==0)
  859.     cout<<"Koniec! Gracz nr2 wygrywa!";
  860. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement