All about C plus plus algorithms!

Friday, 3 June 2016

Tic Tac Toe with C++ || With source file

                   

Hi there! :)

    Today I'll be sharing the code of Tic Tac Toe. It is a two players game. Enjoy! :P

Points to remember :


  • The board is a 2D array[3x3] that is either filled or empty.
  • To make a move, you need to give the coordinates i.e. to place in centre, you have to enter 11 that is the centre of a 2D array of the size 3x3.
  • To enter 11, enter separately i.e. 1 >> enter >> 1.

                              

Source:

// http://progrithms.blogspot.com/



#include <iostream>
#include <conio.h>
using namespace std;

void printArray(int arr[][3], int rows, int cols)
{
for (int i = 0; i<rows; i++)
{
for (int j = 0; j<cols; j++)
{
if (arr[i][j] == 0)
cout << "_" << " ";
else if (arr[i][j] == 1)
cout << "O" << " ";
else
cout << "X" << " ";
}
cout << endl;
}
}
bool checkWinner(int board[][3], int row, int &who)
{
for (int i = 0; i<3; i++)
{
if (board[i][0] == board[i][1] && board[i][1] == board[i][2] && board[i][0] != 0)
{
who = board[i][0];
return true;
}
}
for (int j = 0; j<3; j++)
{
if (board[0][j] == board[1][j] && board[1][j] == board[2][j] && board[0][j] != 0)
{
who = board[0][j];
return true;
}
}

if (board[0][0] == board[1][1] && board[1][1] == board[2][2] && board[0][0] != 0)
{
who = board[0][0];
return true;
}
if (board[2][0] == board[1][1] && board[1][1] == board[2][0] && board[2][0] != 0)
{
who = board[2][0];
return true;
}
return false;
}

void main()
{
bool winner = false;
int board[3][3] = { 0 };
int nought = 1, cross = 2, row, col;
printArray(board, 3, 3);
int player = nought;
int who = 0;
for (int i = 0; i<9; i++)
{
if (player == 1)
{
cout << "Player 1's turn....." << endl;
cin >> row >> col;
while (board[row][col] != 0)
{
cout << "Already filled. Re-enter:" << endl;
cin >> row >> col;
}
board[row][col] = 1;

player = 2;
}
else
{
cout << "Player 2's turn....." << endl;
cin >> row >> col;
while (board[row][col] != 0)
{
cout << "Already filled. Re-enter:" << endl;
cin >> row >> col;
}
board[row][col] = 2;

player = 1;
}
printArray(board, 3, 3);
winner = checkWinner(board, 3, who);
if (winner)
break;
}
if (winner)
cout << "Player" << who << " is winner." << endl;
else
cout << "Draw." << endl;

_getch();
return;
}

___________________________________________________________________________________
___________________________________________________________________________________


In case of any questions, just comment below. :)

Share:

0 comments:

Post a Comment

Popular Posts

Blog Archive

Copyright by progrithms.blogspot.com. All Rights Reserved.. Powered by Blogger.

Copyright © Programs and Algorithms | Powered by Blogger

Design by ThemePacific | Blogger Theme by NewBloggerThemes.com