Advertisement
Papuger95

Proste Kółko i Krzyżyk w C++ #1

Mar 20th, 2018
1,077
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.68 KB | None | 0 0
  1. // a1, a2, a3
  2. // b1, b2, b3
  3. // c1, c2, c3
  4.  
  5. #include <stdio.h>
  6. #include <iostream>
  7. #include <conio.h>
  8. #include <Windows.h>
  9. #include <ctime>
  10.  
  11. using namespace std;
  12.  
  13. int plansza1[3][3] =
  14. { { 0, 0, 0 },
  15.   { 0, 0, 0 },
  16.   { 0, 0, 0 } };
  17.  
  18. int gracz1;
  19. int postac_gracz1 = 88; // w asci  X
  20. int gracz2;
  21. int postac_gracz2 = 79; // w asci  O
  22. bool koniec = false; // gra cala
  23. bool in_game = true; // menu+
  24. bool gracz1_wykonal = false;
  25. bool gracz2_wykonal = false;
  26.  
  27. void rysuj()
  28. {
  29.  
  30.     system("cls");
  31.     cout << endl << endl;
  32.     cout << "     " << (char)(plansza1[0][0]) << (char)(186) << (char)(plansza1[0][1]) << (char)(186) << (char)(plansza1[0][2]) << endl;
  33.     cout << "     " << (char)(205)            << (char)(206) << (char)(205)            << (char)(206) << (char)(205)            << endl;
  34.     cout << "     " << (char)(plansza1[1][0]) << (char)(186) << (char)(plansza1[1][1]) << (char)(186) << (char)(plansza1[1][2]) << endl;
  35.     cout << "     " << (char)(205)            << (char)(206) << (char)(205)            << (char)(206) << (char)(205)            << endl;
  36.     cout << "     " << (char)(plansza1[2][0]) << (char)(186) << (char)(plansza1[2][1]) << (char)(186) << (char)(plansza1[2][2]) << endl;
  37.    
  38. }
  39.  
  40. void ruch_Gracz1()
  41. {
  42.     cout << " Wybierz pole dla 'X' : ";
  43.     cin >> gracz1;
  44.     if (gracz1 == 1 || gracz1 == 2 || gracz1 == 3 || gracz1 == 4 || gracz1 == 5 || gracz1 == 6 || gracz1 == 7 || gracz1 == 8 || gracz1 == 9)
  45.     {
  46.             switch (gracz1)
  47.             {
  48.             case 1:
  49.                 if (plansza1[2][0] == postac_gracz1 || plansza1[2][0] == postac_gracz2)
  50.                 {
  51.                     cout << " Pole zajete! " << endl;
  52.                     break;
  53.                 }
  54.                 else
  55.                 {
  56.                     plansza1[2][0] = postac_gracz1;
  57.                     gracz1_wykonal = true;
  58.                     break;
  59.                 }
  60.             case 2:
  61.                 if (plansza1[2][1] == postac_gracz1 || plansza1[2][1] == postac_gracz2)
  62.                 {
  63.                     cout << " Pole zajete! " << endl;
  64.                     break;
  65.                 }
  66.                 else
  67.                 {
  68.                     plansza1[2][1] = postac_gracz1;
  69.                     gracz1_wykonal = true;
  70.                     break;
  71.                 }
  72.             case 3:
  73.                 if (plansza1[2][2] == postac_gracz1 || plansza1[2][2] == postac_gracz2)
  74.                 {
  75.                     cout << " Pole zajete! " << endl;
  76.                     break;
  77.                 }
  78.                 else
  79.                 {
  80.                     plansza1[2][2] = postac_gracz1;
  81.                     gracz1_wykonal = true;
  82.                     break;
  83.                 }
  84.             case 4:
  85.                 if (plansza1[1][0] == postac_gracz1 || plansza1[1][0] == postac_gracz2)
  86.                 {
  87.                     cout << " Pole zajete! " << endl;
  88.                     break;
  89.                 }
  90.                 else
  91.                 {
  92.                     plansza1[1][0] = postac_gracz1;
  93.                     gracz1_wykonal = true;
  94.                     break;
  95.                 }
  96.             case 5:
  97.                 if (plansza1[1][1] == postac_gracz1 || plansza1[1][1] == postac_gracz2)
  98.                 {
  99.                     cout << " Pole zajete! " << endl;
  100.                     break;
  101.                 }
  102.                 else
  103.                 {
  104.                     plansza1[1][1] = postac_gracz1;
  105.                     gracz1_wykonal = true;
  106.                     break;
  107.                 }
  108.             case 6:
  109.                 if (plansza1[1][2] == postac_gracz1 || plansza1[1][2] == postac_gracz2)
  110.                 {
  111.                     cout << " Pole zajete! " << endl;
  112.                     break;
  113.                 }
  114.                 else
  115.                 {
  116.                     plansza1[1][2] = postac_gracz1;
  117.                     gracz1_wykonal = true;
  118.                     break;
  119.                 }
  120.             case 7:
  121.                 if (plansza1[0][0] == postac_gracz1 || plansza1[0][0] == postac_gracz2)
  122.                 {
  123.                     cout << " Pole zajete! " << endl;
  124.                     break;
  125.                 }
  126.                 else
  127.                 {
  128.                     plansza1[0][0] = postac_gracz1;
  129.                     gracz1_wykonal = true;
  130.                     break;
  131.                 }
  132.             case 8:
  133.                 if (plansza1[0][1] == postac_gracz1 || plansza1[0][1] == postac_gracz2)
  134.                 {
  135.                     cout << " Pole zajete! " << endl;
  136.                     break;
  137.                 }
  138.                 else
  139.                 {
  140.                     plansza1[0][1] = postac_gracz1;
  141.                     gracz1_wykonal = true;
  142.                     break;
  143.                 }
  144.             case 9:
  145.                 if (plansza1[0][2] == postac_gracz1 || plansza1[0][2] == postac_gracz2)
  146.                 {
  147.                     cout << " Pole zajete! " << endl;
  148.                     break;
  149.                 }
  150.                 else
  151.                 {
  152.                     plansza1[0][2] = postac_gracz1;
  153.                     gracz1_wykonal = true;
  154.                 }
  155.                 break;
  156.             }
  157.     }
  158.     else
  159.     {
  160.         cout << "ruch niemożliwy!  " << endl;
  161.         Sleep(500);
  162.     }
  163. }
  164.  
  165. void ruch_Gracz2()
  166. {
  167.     cout << " Wybierz pole dla '0' : ";
  168.     cin >> gracz2;
  169.     if (gracz2 == 1 || gracz2 == 2 || gracz2 == 3 || gracz2 == 4 || gracz2 == 5 || gracz2 == 6 || gracz2 == 7 || gracz2 == 8 || gracz2 == 9)
  170.     {
  171.         switch (gracz2)
  172.         {
  173.         case 1:
  174.             if (plansza1[2][0] == postac_gracz1 || plansza1[2][0] == postac_gracz2)
  175.             {
  176.                 cout << " Pole zajete! " << endl;
  177.                 break;
  178.             }
  179.             else
  180.             {
  181.                 plansza1[2][0] = postac_gracz2;
  182.                 gracz2_wykonal = true;
  183.                 break;
  184.             }
  185.         case 2:
  186.             if (plansza1[2][1] == postac_gracz1 || plansza1[2][1] == postac_gracz2)
  187.             {
  188.                 cout << " Pole zajete! " << endl;
  189.                 break;
  190.             }
  191.             else
  192.             {
  193.                 plansza1[2][1] = postac_gracz2;
  194.                 gracz2_wykonal = true;
  195.                 break;
  196.             }
  197.         case 3:
  198.             if (plansza1[2][2] == postac_gracz1 || plansza1[2][2] == postac_gracz2)
  199.             {
  200.                 cout << " Pole zajete! " << endl;
  201.                 break;
  202.             }
  203.             else
  204.             {
  205.                 plansza1[2][2] = postac_gracz2;
  206.                 gracz2_wykonal = true;
  207.                 break;
  208.             }
  209.         case 4:
  210.             if (plansza1[1][0] == postac_gracz1 || plansza1[1][0] == postac_gracz2)
  211.             {
  212.                 cout << " Pole zajete! " << endl;
  213.                 break;
  214.             }
  215.             else
  216.             {
  217.                 plansza1[1][0] = postac_gracz2;
  218.                 gracz2_wykonal = true;
  219.                 break;
  220.             }
  221.         case 5:
  222.             if (plansza1[1][1] == postac_gracz1 || plansza1[1][1] == postac_gracz2)
  223.             {
  224.                 cout << " Pole zajete! " << endl;
  225.                 break;
  226.             }
  227.             else
  228.             {
  229.                 plansza1[1][1] = postac_gracz2;
  230.                 gracz2_wykonal = true;
  231.                 break;
  232.             }
  233.         case 6:
  234.             if (plansza1[1][2] == postac_gracz1 || plansza1[1][2] == postac_gracz2)
  235.             {
  236.                 cout << " Pole zajete! " << endl;
  237.                 break;
  238.             }
  239.             else
  240.             {
  241.                 plansza1[1][2] = postac_gracz2;
  242.                 gracz2_wykonal = true;
  243.                 break;
  244.             }
  245.         case 7:
  246.             if (plansza1[0][0] == postac_gracz1 || plansza1[0][0] == postac_gracz2)
  247.             {
  248.                 cout << " Pole zajete! " << endl;
  249.                 break;
  250.             }
  251.             else
  252.             {
  253.                 plansza1[0][0] = postac_gracz2;
  254.                 gracz2_wykonal = true;
  255.                 break;
  256.             }
  257.         case 8:
  258.             if (plansza1[0][1] == postac_gracz1 || plansza1[0][1] == postac_gracz2)
  259.             {
  260.                 cout << " Pole zajete! " << endl;
  261.                 break;
  262.             }
  263.             else
  264.             {
  265.                 plansza1[0][1] = postac_gracz2;
  266.                 gracz2_wykonal = true;
  267.                 break;
  268.             }
  269.         case 9:
  270.             if (plansza1[0][2] == postac_gracz1 || plansza1[0][2] == postac_gracz2)
  271.             {
  272.                 cout << " Pole zajete! " << endl;
  273.                 break;
  274.             }
  275.             else
  276.             {
  277.                 plansza1[0][2] = postac_gracz2;
  278.                 gracz2_wykonal = true;
  279.             }
  280.             break;
  281.         }
  282.     }
  283.     else
  284.     {
  285.         cout << "ruch niemożliwy!  " << endl;
  286.         Sleep(500);
  287.     }
  288. }
  289.  
  290. int main()
  291. {
  292.     while (koniec == false)
  293.     {
  294.         rysuj();
  295.         while (in_game == true)
  296.         {
  297.             rysuj();
  298.             while (gracz1_wykonal == false)
  299.             {
  300.                 ruch_Gracz1();
  301.             }
  302.             rysuj();
  303.             while (gracz2_wykonal == false)
  304.             {
  305.                 ruch_Gracz2();
  306.             }
  307.             if (in_game == true)
  308.             {
  309.                 gracz1_wykonal = false;
  310.                 gracz2_wykonal = false;
  311.             }
  312.         }
  313.         _getch();
  314.     }
  315.  
  316.     return 0;
  317. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement