Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include "conio.h"
- #include "iostream"
- #include "string"
- #include "cstdlib"
- #include "ctime"
- #include "windows.h"
- using namespace std;
- char p[9];
- char who = 'X';
- void creatTab()
- {
- cout << " | | " << endl;
- cout << " " << p[0] << " " << p[1] << " " << p[2] << " " << endl;
- cout << "____|____|____" << endl;
- cout << " | | " << endl;
- cout << " " << p[3] << " " << p[4] << " " << p[5] << " " << endl;
- cout << "____|____|____" << endl;
- cout << " | | " << endl;
- cout << " " << p[6] << " " << p[7] << " " << p[8] << " " << endl;
- cout << " | | " << endl;
- }
- bool canImove(int i, char tab[])
- {
- if ((i > 9) || (i < 1) || (tab[i - 1] == 'X') || (tab[i - 1] == 'O'))
- return false;
- else
- return true;
- }
- void move(char w)
- {
- int pole;
- do {
- cout << " Wybierz pole(1-9) : " << endl;
- cin >> pole;
- system("cls");
- creatTab();
- } while (canImove(pole, p) == false);
- p[pole - 1] = w;
- if (w == 'X')
- who = 'O';
- if (w == 'O')
- who = 'X';
- system("cls");
- creatTab();
- }
- char checkWin()
- {
- if ((p[0] == p[1]) && (p[1] == p[2]))
- return p[0];
- if ((p[3] == p[4]) && (p[4] == p[5]))
- return p[3];
- if ((p[6] == p[7]) && (p[7] == p[8]))
- return p[6];
- if ((p[0] == p[3]) && (p[3] == p[6]))
- return p[0];
- if ((p[1] == p[4]) && (p[4] == p[7]))
- return p[1];
- if ((p[2] == p[5]) && (p[5] == p[8]))
- return p[2];
- if ((p[0] == p[4]) && (p[4] == p[8]))
- return p[0];
- if ((p[4] == p[2]) && (p[6] == p[2]))
- return p[4];
- else
- return 'n';
- }
- int main()
- {
- int exit = 2;
- do {
- p[0] = '1';
- p[1] = '2';
- p[2] = '3';
- p[3] = '4';
- p[4] = '5';
- p[5] = '6';
- p[6] = '7';
- p[7] = '8';
- p[8] = '9';
- system("cls");
- char znak;
- cout << "GRA KOLKO I KRZYZYK" << endl;
- for (int i = 0; i < 1;)
- {
- cout << "Wybor znaku ktory zaczyna " << endl;
- cin >> znak;
- if (znak == 'x' || znak == 'X' || znak == 'o' || znak == 'O')
- i++;
- else
- cout << "Podales zly znak " << endl;
- if ((znak == 'o') || (znak == 'O'))
- znak = 'O';
- else if ((znak == 'x') || (znak == 'X'))
- znak = 'X';
- }
- system("cls");
- creatTab();
- for (int k = 0; k < 9; k++)
- {
- move(znak);
- if (checkWin() != 'n')
- break;
- if (znak == 'X')
- znak = 'O';
- else
- znak = 'X';
- }
- if (checkWin() == 'n')
- {
- cout << "Runda remisowa!";
- }
- else
- {
- cout << "Runde wygrywa gracz:" << checkWin();
- }
- cout << endl << endl << "Aby zagrac jeszcze raz wybierz 1" << endl;
- cin >> exit;
- } while (exit == 1);
- getchar();
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement