84 lines
2.0 KiB
C++
84 lines
2.0 KiB
C++
|
#include <iostream>
|
||
|
using namespace std;
|
||
|
|
||
|
|
||
|
void drawBoard(char board[3][3]) {
|
||
|
|
||
|
cout << board[0][0] << " |" << board[0][1] << "| " << board[0][2] << endl;
|
||
|
cout << "-------\n";
|
||
|
cout << board[1][0] << " |" << board[1][1] << "| " << board[1][2] << endl;
|
||
|
cout << "-------\n";
|
||
|
cout << board[2][0] << " |" << board[2][1] << "| " << board[2][2] << endl;
|
||
|
}
|
||
|
|
||
|
|
||
|
void checkWin(char board[3][3], char player) {
|
||
|
|
||
|
for(int i = 0; i < 2; i++){
|
||
|
if(board[i][0] == player && board[i][1] == player && board[i][2] == player){
|
||
|
cout << board[i][0] << " WON!" << endl;}
|
||
|
|
||
|
if(board[0][i] == player && board[1][i] == player && board[2][i] == player){
|
||
|
cout << board[i][0] << " WON!" << endl;}
|
||
|
|
||
|
};
|
||
|
|
||
|
if(board[0][0] == player && board[1][1] == player && board[2][2] == player){
|
||
|
cout << board[0][0] << " WON!" << endl;}
|
||
|
if(board[2][0] == player && board[1][1] == player && board[0][2] == player){
|
||
|
cout << board[2][0] << " WON!" << endl;}
|
||
|
}
|
||
|
|
||
|
void chooseCaR(int row, int col, char player){
|
||
|
|
||
|
cout << "Player " << player << " choose a row (1-3): ";
|
||
|
cin >> row;
|
||
|
while(row > 3){
|
||
|
cout << "Invalid input\n";
|
||
|
cout << "Choose a row (1-3): \n";
|
||
|
cin >> row;
|
||
|
|
||
|
}
|
||
|
cout << "Choose a column (1-3): ";
|
||
|
cin >> col;
|
||
|
while(col > 3){
|
||
|
cout << "Invalid input\n";
|
||
|
cout << "Choose a column (1-3): \n";
|
||
|
cin >> col;
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
int main(){
|
||
|
|
||
|
int row;
|
||
|
int col;
|
||
|
char player = 'X';
|
||
|
char board[3][3] = { { ' ', ' ', ' ' },
|
||
|
{ ' ', ' ', ' ' },
|
||
|
{ ' ', ' ', ' ' } };
|
||
|
|
||
|
|
||
|
|
||
|
cout << "Welcome to Tic-Tac-Toe!\n";
|
||
|
|
||
|
for(int i=0; i<8; i++){
|
||
|
|
||
|
drawBoard(board);
|
||
|
chooseCaR(row, col, player);
|
||
|
|
||
|
if(board[col-1][row-1] == 'X' || 'O')
|
||
|
cout << "Place taken\n";
|
||
|
else
|
||
|
board[col-1][row-1] = player;
|
||
|
|
||
|
checkWin(board, player);
|
||
|
|
||
|
player = (player == 'X') ? 'O' : 'X';
|
||
|
|
||
|
}
|
||
|
|
||
|
cout << "It's Draw!" << endl;
|
||
|
|
||
|
}
|