Nov 21, 2013 at 5:16pm UTC
#include <iostream>
using namespace std;
char square[10] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
int checkwin();
void board();
int main()
{
int player = 1,i,choice;
char mark;
do
{
board();
player = (player%2)?1:2;
cout << "Player " << player << ", enter a number: ";
cin >> choice;
mark= (player == 1) ? "x" : "0";
if (choice == 1 && square[1] == '1')
square[1] = mark;
else if (choice == 2 && square[2] == '2')
square[2] == mark;
else if (choice == 3 && square[3] == '3')
square[3] = mark;
else if (choice == 4 && square[4] == '4')
square[4] = mark;
else if (choice == 5 && square[5] == '5')
square[5] = mark;
else if (choice == 6 && square[6] == '6')
square[6] = mark;
else if (choice == 7 && square[7] == '7')
square[7] = mark;
else if (choice == 8 && square[8] == '8')
square[8] = mark;
else if (choice == 9 && square[9] == '9')
square[9] = mark;
else
{
cout << "Invalid move ";
player--;
cin.ignore();
cin.get();
}
i = checkwin();
player++;
}while (i == -1);
board();
if(i == 1)
cout<<"==>\aPlayer "<< --player<<" win ";
else
cout<<"==>\aGame draw";
cin.ignore();
cin.get();
return 0;
}
/*****************************************
FUNCTION TO RETURN GAME STATUS
1 FOR GAME IS OVER WITH RESULT
-1 FOR GAME IS IN PROGRESS
0 GAME IS OVER AND NO RESULT
******************************************/
int checkwin()
{
if (square[1] == square[2] && square[2] == square[3])
return 1;
else if (square[4] == square[5] && square[5] == square[6])
return 1;
else if (square[7] == square[8] && square[8] == square[9])
return 1;
else if (square[1] == square[4] && square[4] == square[7])
return 1;
else if (square[2] == square[5] && square[5] == square[8])
return 1;
else if (square[3] == square[6] && square[6] == square[9])
return 1;
else if (square[1] == square[5] && square[5] == square[9])
return 1;
else if (square[3] == square[5] && square[5] == square[7])
return 1;
else if (square[1] != '1' && square[2] != '2' && square[3] != '3' && square[4] != '4' && square[5] != '5' && square[6] != '6' && square[7] != '7' && square[8] != '8' && square[9] != '9')
return 0;
else
return -1;
/***************************************************************
FUNCTION TO DRAW BOARD OF TIC TAC TOE WITH PLAYERS MARK
***************************************************************/
void board()
{
system("cls");
cout << "\n\n\tTic Tac Toe\n\n";
cout << "Player 1 (X) - Player 2 (O)" << endl << endl;
cout << endl;
cout << " | | " << endl;
cout << " " << square[1] << " | " << square[2] << " | " << square[3] << endl;
cout << "_____|_____|_____" << endl;
cout << " | | " << endl;
cout << " " << square[4] << " | " << square[5] << " | " << square[6] << endl;
cout << "_____|_____|_____" << endl;
cout << " | | " << endl;
cout << " " << square[7] << " | " << square[8] << " | " << square[9] << endl;
cout << " | | " << endl << endl;
}
/*******************************************************
END OF PROJECT
*******************************************************/
Nov 21, 2013 at 6:27pm UTC
Please put in code tags. You can find them on the format options to the left over there >>, when you edit your post.
1 2 3
//This is in code tags and is readable
// Nicely formatted
//And gives line numbers
Last edited on Nov 21, 2013 at 6:28pm UTC
Nov 21, 2013 at 6:30pm UTC
Also... what makes you think something is wrong with it?
Do you get compiler errors? If so, tell us what the errors are and what line they're on.
Does it compile but just not do what you expect? If so, tell us what it does, and tell us what you expect it to do.
It's hard for us to solve a problem when we don't know what the problem is.
Nov 22, 2013 at 4:05pm UTC
The problem I am having is that the game itself is loading but when you go and play it, the "x" and "o" symbols don't show up when you select the number you want to mark as "x" or "o".
Nov 25, 2013 at 8:07pm UTC
Thanks for the support guys. The game now works like it is supposed to.