Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- z
- void pokazPlansze() {
- system("clear");
- cout << "Plansza:";
- for(int i = 0; i < 3; i++) {
- cout << "\n+---+---+---+\n";
- for(int j = 0; j < 3; j++) {
- string kodKoloru = "";
- if(plansza[i][j] == 'X')
- kodKoloru = "\033[1;31m";
- else if(plansza[i][j] == 'O')
- kodKoloru = "\033[1;32m";
- cout << "| " << kodKoloru << plansza[i][j] << " \033[0m\033[1m";
- }
- cout << "|";
- }
- cout << "\n+---+---+---+\n";
- }
- void ruchGracza() {
- cout << "\nTura gracza: " << aktualnyGracz << "\n";
- bool poprawnyNumer = false;
- do {
- cout << "Podaj numer pola: ";
- char nrPola; cin >> nrPola;
- if(nrPola < '1' || nrPola > '9' )
- continue;
- for(int i = 0; i < 3; i++) {
- for(int j = 0; j < 3; j++) {
- if(plansza[i][j] == nrPola) {
- plansza[i][j] = aktualnyGracz;
- poprawnyNumer = true;
- }
- }
- }
- }
- while(poprawnyNumer == false);
- }
- void zmianaGracza() {
- if(aktualnyGracz == 'X')
- aktualnyGracz = 'O';
- else
- aktualnyGracz = 'X';
- }
- char wynikGry() {
- //poziomo
- for(int i = 0; i < 3; i++)
- {
- if(plansza[i][0] == plansza[i][1] && plansza[i][1] == plansza[i][2])
- return plansza[i][0];
- }
- //pionowo
- for(int i = 0; i < 3; i++)
- {
- if(plansza[0][i] == plansza[1][i] && plansza[1][i] == plansza[2][i])
- return plansza[0][i];
- }
- //na skos
- if(plansza[0][0] == plansza[1][1] && plansza[1][1] == plansza[2][2])
- return plansza[0][0];
- else if(plansza[0][2] == plansza[1][1] && plansza[1][1] == plansza[2][0])
- return plansza[0][2];
- //zwrócenie remisu, jeśli nikt nie wygrał
- return 'R';
- }
- int main() {
- //pogrubia tekst w oknie konsoli
- cout << "\033[1m";
- while(true) {
- pokazPlansze();
- ruchGracza();
- numerRuchu++;
- pokazPlansze();
- if(wynikGry() == 'X') {
- cout << "\nGratulacje, wygrywa krzyzyk!";
- break;
- }
- else if(wynikGry() == 'O') {
- cout << "\nBrawo, wygrywa kolko!";
- break;
- }
- else if(wynikGry() == 'R' && numerRuchu >= 9) {
- cout << "\nRemis..";
- break;
- }
- zmianaGracza();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement