TicTaToe

Run Settings
LanguageC++
Language Version
Run Command
// TicTaToe #include "pch.h" #include <iostream> #include <ctime> using namespace std; const int N = 3; void printField(int field[N][N]) { cout << endl << " -----------------" << endl; for (size_t i = 0; i < N; i++) { for (size_t j = 0; j < N; j++) { cout << "| " << (field[i][j] == 1 ? "X" : field[i][j] == 2 ? "O" : " ") << " "; } cout << "|" << endl << "|-----------------|" << endl; } } void initField(int field[N][N]) { for (size_t i = 0; i < N; i++) { for (size_t j = 0; j < N; j++) field[i][j] = 0; } } bool checkVictory(int field[N][N]) { // проверка победы по строкам (по горизонтали) for (size_t row = 0; row < N; row++) if (field[row][0] == field[row][1] && field[row][1] && field[row][2] && field[row][2] != 0) return true; // проверка победы по столбцам (по вертикали) for (size_t column = 0; column < N; column++) if (field[0][column] == field[1][column] && field[1][column] && field[2][column] && field[2][column] != 0) return true; // проверка победы на главной диагонали if (field[0][0] == field[1][1] && field[1][1] && field[2][2] && field[1][1] != 0) return true; // проверка победы на обратной диагонали if (field[0][2] == field[1][1] && field[1][1] && field[2][0] && field[1][1] != 0) return true; return false; } int main() { srand(time(NULL)); cout << "TicTaToe"; int field[N][N]; int victory = 0; initField(field); printField(field); // char name2[100] = "User", name1[100] = "Computer"; int turn = 0; // turn number int x, y; do { cout << "The next turn is: "; if (turn % 2 == 0) { cout << name1; do { x = 1 + rand() % 3; y = 1 + rand() % 3; } while (field[x-1][y-1] != 0); field[x - 1][y - 1] = 1; } else { cout << name2; do { cout << endl << (turn == 0 ? name1 : name2) << ", input your turn: "; cout << endl << "X: "; cin >> x; cout << endl << "Y: "; cin >> y; if ( (x >= 1 && x <= 3) && (y >= 1 && y <= 3) && (field[x-1][y-1] == 0) ) break; } while (true); field[x - 1][y - 1] = 2; } printField(field); if (checkVictory(field) == true) break; turn++; } while (turn <= 9); cout << endl << (turn %2 == 0 ? name1 : name2) << " is winner!!!"; }
Editor Settings
Theme
Key bindings
Full width
Lines