Advertisement
Guest User

Untitled

a guest
Feb 26th, 2020
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.52 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. z
  4.  
  5. void pokazPlansze() {
  6. system("clear");
  7. cout << "Plansza:";
  8.  
  9. for(int i = 0; i < 3; i++) {
  10. cout << "\n+---+---+---+\n";
  11. for(int j = 0; j < 3; j++) {
  12.  
  13. string kodKoloru = "";
  14. if(plansza[i][j] == 'X')
  15. kodKoloru = "\033[1;31m";
  16. else if(plansza[i][j] == 'O')
  17. kodKoloru = "\033[1;32m";
  18.  
  19. cout << "| " << kodKoloru << plansza[i][j] << " \033[0m\033[1m";
  20. }
  21. cout << "|";
  22. }
  23. cout << "\n+---+---+---+\n";
  24. }
  25.  
  26. void ruchGracza() {
  27. cout << "\nTura gracza: " << aktualnyGracz << "\n";
  28.  
  29. bool poprawnyNumer = false;
  30. do {
  31. cout << "Podaj numer pola: ";
  32. char nrPola; cin >> nrPola;
  33.  
  34. if(nrPola < '1' || nrPola > '9' )
  35. continue;
  36.  
  37. for(int i = 0; i < 3; i++) {
  38. for(int j = 0; j < 3; j++) {
  39. if(plansza[i][j] == nrPola) {
  40. plansza[i][j] = aktualnyGracz;
  41. poprawnyNumer = true;
  42. }
  43. }
  44. }
  45. }
  46. while(poprawnyNumer == false);
  47. }
  48.  
  49. void zmianaGracza() {
  50. if(aktualnyGracz == 'X')
  51. aktualnyGracz = 'O';
  52. else
  53. aktualnyGracz = 'X';
  54. }
  55.  
  56. char wynikGry() {
  57. //poziomo
  58. for(int i = 0; i < 3; i++)
  59. {
  60. if(plansza[i][0] == plansza[i][1] && plansza[i][1] == plansza[i][2])
  61. return plansza[i][0];
  62. }
  63.  
  64. //pionowo
  65. for(int i = 0; i < 3; i++)
  66. {
  67. if(plansza[0][i] == plansza[1][i] && plansza[1][i] == plansza[2][i])
  68. return plansza[0][i];
  69. }
  70.  
  71. //na skos
  72. if(plansza[0][0] == plansza[1][1] && plansza[1][1] == plansza[2][2])
  73. return plansza[0][0];
  74. else if(plansza[0][2] == plansza[1][1] && plansza[1][1] == plansza[2][0])
  75. return plansza[0][2];
  76.  
  77. //zwrócenie remisu, jeśli nikt nie wygrał
  78. return 'R';
  79. }
  80.  
  81. int main() {
  82. //pogrubia tekst w oknie konsoli
  83. cout << "\033[1m";
  84.  
  85. while(true) {
  86.  
  87. pokazPlansze();
  88. ruchGracza();
  89. numerRuchu++;
  90.  
  91. pokazPlansze();
  92. if(wynikGry() == 'X') {
  93. cout << "\nGratulacje, wygrywa krzyzyk!";
  94. break;
  95. }
  96. else if(wynikGry() == 'O') {
  97. cout << "\nBrawo, wygrywa kolko!";
  98. break;
  99. }
  100. else if(wynikGry() == 'R' && numerRuchu >= 9) {
  101. cout << "\nRemis..";
  102. break;
  103. }
  104.  
  105. zmianaGracza();
  106. }
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement