G2A Many GEOs
SHARE
TWEET

Untitled

a guest Apr 8th, 2020 117 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <math.h>
  3. using namespace std;
  4.  
  5. const char znak_puste_pole = '.';
  6. const char znak_gracz_1 = 'X';
  7. const char znak_gracz_2 = 'O';
  8. const int wysokosc_mapy = 4;
  9. const int szerokosc_mapy = 4;
  10. const char znak_zaznaczony = '*';
  11. bool czy_ruch_gracza__1 = true;
  12. int wybierany_pionek_y = 0;
  13. int wybierany_pionek_x = 0;
  14. int gdzie_chcesz_przeniesc_pionek_y = 0;
  15. int gdzie_chcesz_przeniesc_pionek_x = 0;
  16.  
  17.  
  18.  
  19. void rysiu_mape_narysuj (char mapa [wysokosc_mapy][szerokosc_mapy])
  20. {
  21.     for (int ii = 0; ii < wysokosc_mapy ; ii++ )
  22.     {
  23.         for(int i = 0; i < szerokosc_mapy ; i ++)
  24.         {
  25.             cout << mapa[ii][i];
  26.         }
  27.     cout << endl;
  28.     }
  29. }
  30.  
  31. void odsiwerz_mape(char mapa [wysokosc_mapy][szerokosc_mapy])
  32. {
  33.     system("cls");
  34.     rysiu_mape_narysuj(mapa);
  35. }
  36.  
  37. void przygotuj_mape(char mapa [wysokosc_mapy][szerokosc_mapy]) {
  38.  
  39.     for (int ii = 0; ii < wysokosc_mapy ; ii++ )
  40.     {
  41.         for(int i = 0; i < szerokosc_mapy ; i ++)
  42.         {
  43.             mapa [ii][i] = znak_puste_pole;
  44.         }
  45.     }
  46. }
  47.  
  48. void przygotuj_graczy (char mapa [wysokosc_mapy][szerokosc_mapy])
  49. {
  50.     mapa [0][0] = znak_gracz_1;
  51.     mapa [0][szerokosc_mapy - 1] = znak_gracz_2;
  52.     mapa [wysokosc_mapy - 1][0] = znak_gracz_2;
  53.     mapa [wysokosc_mapy - 1][szerokosc_mapy - 1] = znak_gracz_1;
  54. }
  55.  
  56. void wybur_pionka_gracza (char mapa [wysokosc_mapy] [szerokosc_mapy])
  57. {
  58.     cout << "ktorym pionkiem chcesz sie ruszyc, napisz koordynaty" << endl;
  59.     cout << "x";
  60.     cin >> wybierany_pionek_x;
  61.     cout << endl << "y";
  62.     cin >> wybierany_pionek_y;
  63.  
  64.     if (mapa [wybierany_pionek_y][wybierany_pionek_x] == znak_gracz_1 && czy_ruch_gracza__1 == true)
  65.     {
  66.     mapa[wybierany_pionek_y][wybierany_pionek_x] = znak_zaznaczony;
  67.     }
  68.     else if (mapa [wybierany_pionek_y][wybierany_pionek_x] == znak_gracz_2 && czy_ruch_gracza__1 == false)
  69.     {
  70.     mapa[wybierany_pionek_y][wybierany_pionek_x] = znak_zaznaczony;
  71.     }
  72.     else
  73.     {
  74.     wybur_pionka_gracza(mapa);
  75.     return;
  76.     }
  77.     system("cls");
  78.     rysiu_mape_narysuj(mapa);
  79. }
  80. bool czy_dozwolony(char mapa [wysokosc_mapy][szerokosc_mapy])
  81. {
  82.     int rurznica_x = abs(wybierany_pionek_x - gdzie_chcesz_przeniesc_pionek_x);
  83.     int rurznica_y = abs(wybierany_pionek_y - gdzie_chcesz_przeniesc_pionek_y);
  84.     if (mapa [gdzie_chcesz_przeniesc_pionek_y][gdzie_chcesz_przeniesc_pionek_x] != znak_puste_pole)
  85.     {
  86.         return false;
  87.     }
  88.     if(rurznica_x > 2 || rurznica_y > 2)
  89.     {
  90.         return false;
  91.     }
  92.     if (rurznica_x == 0 && rurznica_y == 0)
  93.     {
  94.         return false;
  95.     }
  96.     return true;
  97. }
  98.  
  99. bool czy_ruch_pojedynczy()
  100. {
  101.     int rurznica_x = abs(wybierany_pionek_x - gdzie_chcesz_przeniesc_pionek_x);
  102.     int rurznica_y = abs(wybierany_pionek_y - gdzie_chcesz_przeniesc_pionek_y);
  103. if (rurznica_x < 2 && rurznica_y < 2) {return true;}
  104. return false;
  105.  
  106. }
  107.  
  108. void czy_w_okul_mnie_jakis_wrog(char mapa [wysokosc_mapy][szerokosc_mapy], bool czy_aktualny_gracz_1)
  109. {
  110. char znak;
  111. int x = gdzie_chcesz_przeniesc_pionek_x;
  112. int y = gdzie_chcesz_przeniesc_pionek_y;
  113.  
  114. if (czy_aktualny_gracz_1 == true)
  115. {
  116.    znak = 'X';
  117. }
  118. else
  119. {
  120.     znak = 'O';
  121. }
  122.  
  123.  
  124. for (int i = x - 1 ; i <= x + 1 ; i++)
  125. {
  126.     for (int j = y + 1; j >= y - 1 ; j--)
  127.     {
  128.         if (i == wysokosc_mapy || i == -1 || j == szerokosc_mapy || j == -1){}
  129.         else if (mapa [j] [i] != znak_puste_pole)
  130.         {
  131.             mapa [j] [i] = znak;
  132.         }
  133.     }
  134. }
  135.  
  136. }
  137.  
  138.  
  139.  
  140. void przesuniecie_pionka_gracza (char mapa [wysokosc_mapy][szerokosc_mapy])
  141. {
  142.     cout << "wypisz koordynaty na ktore chcesz przeniesc swuj pionek" << endl;
  143.     cout << "x";
  144.     cin >> gdzie_chcesz_przeniesc_pionek_x;
  145.     cout << endl << "y";
  146.     cin >> gdzie_chcesz_przeniesc_pionek_y;
  147.  
  148.     if (czy_ruch_gracza__1 == true && czy_dozwolony(mapa) == true)
  149.     {
  150.  
  151.         if (czy_ruch_pojedynczy() == false)
  152.         {
  153.             mapa [gdzie_chcesz_przeniesc_pionek_y] [gdzie_chcesz_przeniesc_pionek_x] = znak_gracz_1;
  154.             mapa [wybierany_pionek_y][wybierany_pionek_x] = znak_puste_pole;
  155.             czy_w_okul_mnie_jakis_wrog(mapa, czy_ruch_gracza__1);
  156.         }
  157.         else
  158.         {
  159.             mapa [gdzie_chcesz_przeniesc_pionek_y] [gdzie_chcesz_przeniesc_pionek_x] = znak_gracz_1;
  160.             mapa [wybierany_pionek_y][wybierany_pionek_x] = znak_gracz_1;
  161.             czy_w_okul_mnie_jakis_wrog(mapa, czy_ruch_gracza__1);
  162.         }
  163.     }
  164.     else if (czy_ruch_gracza__1 == false && czy_dozwolony(mapa) == true)
  165.     {
  166.  
  167.         if (czy_ruch_pojedynczy() == false)
  168.         {
  169.             mapa [gdzie_chcesz_przeniesc_pionek_y] [gdzie_chcesz_przeniesc_pionek_x] = znak_gracz_2;
  170.             mapa [wybierany_pionek_y][wybierany_pionek_x] = znak_puste_pole;
  171.             czy_w_okul_mnie_jakis_wrog(mapa, czy_ruch_gracza__1);
  172.         }
  173.         else
  174.         {
  175.             mapa [gdzie_chcesz_przeniesc_pionek_y] [gdzie_chcesz_przeniesc_pionek_x] = znak_gracz_2;
  176.             mapa [wybierany_pionek_y][wybierany_pionek_x] = znak_gracz_2;
  177.             czy_w_okul_mnie_jakis_wrog(mapa, czy_ruch_gracza__1);
  178.         }
  179.     }
  180.     else
  181.     {
  182.        if (czy_ruch_gracza__1 == true)
  183.        {
  184.         mapa [wybierany_pionek_y][wybierany_pionek_x] = znak_gracz_1;
  185.        }
  186.         else
  187.        {
  188.         mapa [wybierany_pionek_y][wybierany_pionek_x] = znak_gracz_2;
  189.        }
  190.        odsiwerz_mape(mapa);
  191.        wybur_pionka_gracza(mapa);
  192.  
  193.  
  194.  
  195.  
  196.        przesuniecie_pionka_gracza(mapa);
  197.  
  198.  
  199.  
  200.  
  201.        return;
  202.     }
  203.     system("cls");
  204.     rysiu_mape_narysuj(mapa);
  205. }
  206.  
  207.  
  208.  
  209.  
  210.  
  211. int main()
  212. {
  213.     char mapa [wysokosc_mapy] [szerokosc_mapy];
  214.     przygotuj_mape(mapa);
  215.     przygotuj_graczy(mapa);
  216.     rysiu_mape_narysuj(mapa);
  217.  
  218.     while (true) {
  219.         wybur_pionka_gracza(mapa);
  220.         przesuniecie_pionka_gracza(mapa);
  221.         if (czy_ruch_gracza__1 == true)
  222.         {
  223.             czy_ruch_gracza__1 = false;
  224.         }
  225.         else
  226.         {
  227.             czy_ruch_gracza__1 = true;
  228.         }
  229.     }
  230.  
  231.  
  232.  
  233.  
  234.     return 0;
  235. }
RAW Paste Data
Ledger Nano X - The secure hardware wallet
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top