Program:
Source Code: (Kinda sloppy)Code:http://www.sendspace.com/file/lhrfy6
People where saying that they wanted to play the computer, well the computer's move is random, so it is very easy, but you can still play it xDCode:#include <iostream>
#include <windows.h>
#include <time.h>
#include <string>
int main(void)
{
using namespace std;
int selection1 = 0, playerTurn = 1, move = 0, winner = 0;
bool gameOver = false;
char s[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
srand(time(NULL));
system("title TheEliteOne's Tic Tac Toe Game v2");
system("cls");
cout << "Select:" << endl << endl;
cout << "1 - Player vs Computer" << endl;
cout << "2 - Player vs Player" << endl;
cout << "3 - Report a bug" << endl << endl;
cin >> selection1;
system("cls");
if (selection1 == 1)
{
int computer;
do
{
// Show play mat
system("cls");
cout << "| " << s[1] << " | " << s[2] << " | " << s[3] << " |" << endl << "-------------" << endl;
cout << "| " << s[4] << " | " << s[5] << " | " << s[6] << " |" << endl << "-------------" << endl;
cout << "| " << s[7] << " | " << s[8] << " | " << s[9] << " |" << endl << "-------------" << endl << endl;
// Get move
if (playerTurn == 1)
{
cout << "Player 1's turn: ";
cin >> move;
playerTurn++;
if (move == 1)
{
if (s[1] == '1')
{
s[1] = 'x';
}
else if (s[1] == 'x' || s[1] == 'o')
{
playerTurn--;
}
}
else if (move == 2)
{
if (s[2] == '2')
{
s[2] = 'x';
}
else if (s[2] == 'x' || s[2] == 'o')
{
playerTurn--;
}
}
else if (move == 3)
{
if (s[3] == '3')
{
s[3] = 'x';
}
else if (s[3] == 'x' || s[3] == 'o')
{
playerTurn--;
}
}
else if (move == 4)
{
if (s[4] == '4')
{
s[4] = 'x';
}
else if (s[4] == 'x' || s[4] == 'o')
{
playerTurn--;
}
}
else if (move == 5)
{
if (s[5] == '5')
{
s[5] = 'x';
}
else if (s[5] == 'x' || s[5] == 'o')
{
playerTurn--;
}
}
else if (move == 6)
{
if (s[6] == '6')
{
s[6] = 'x';
}
else if (s[6] == 'x' || s[6] == 'o')
{
playerTurn--;
}
}
else if (move == 7)
{
if (s[7] == '7')
{
s[7] = 'x';
}
else if (s[7] == 'x' || s[7] == 'o')
{
playerTurn--;
}
}
else if (move == 8)
{
if (s[8] == '8')
{
s[8] = 'x';
}
else if (s[8] == 'x' || s[8] == 'o')
{
playerTurn--;
}
}
else if (move == 9)
{
if (s[9] == '9')
{
s[9] = 'x';
}
else if (s[9] == 'x' || s[9] == 'o')
{
playerTurn--;
}
}
}
else if (playerTurn == 2)
{
computer = rand() % 9 + 1;
cout << "Computer's turn: " << computer;
playerTurn = 1;
if (computer == 1)
{
if (s[1] == '1')
{
s[1] = 'o';
}
else if (s[1] == 'x' || s[1] == 'o')
{
playerTurn = 1;
}
}
else if (computer == 2)
{
if (s[2] == '2')
{
s[2] = 'o';
}
else if (s[2] == 'x' || s[2] == 'o')
{
playerTurn = 1;
}
}
else if (computer == 3)
{
if (s[3] == '3')
{
s[3] = 'o';
}
else if (s[3] == 'x' || s[3] == 'o')
{
playerTurn = 1;
}
}
else if (computer == 4)
{
if (s[4] == '4')
{
s[4] = 'o';
}
else if (s[4] == 'x' || s[4] == 'o')
{
playerTurn = 1;
}
}
else if (computer == 5)
{
if (s[5] == '5')
{
s[5] = 'o';
}
else if (s[5] == 'x' || s[5] == 'o')
{
playerTurn = 1;
}
}
else if (computer == 6)
{
if (s[6] == '6')
{
s[6] = 'o';
}
else if (s[6] == 'x' || s[6] == 'o')
{
playerTurn = 1;
}
}
else if (computer == 7)
{
if (s[7] == '7')
{
s[7] = 'o';
}
else if (s[7] == 'x' || s[7] == 'o')
{
playerTurn = 1;
}
}
else if (computer == 8)
{
if (s[8] == '8')
{
s[8] = 'o';
}
else if (s[8] == 'x' || s[8] == 'o')
{
playerTurn = 1;
}
}
else if (computer == 9)
{
if (s[9] == '9')
{
s[9] = 'o';
}
else if (s[9] == 'x' || s[9] == 'o')
{
playerTurn = 1;
}
}
else
{
playerTurn = 1;
}
}
// Check if someone has won
// Player one check
if (s[1] == 'x' && s[2] == 'x' && s[3] == 'x')
{
gameOver = true;
winner = 1;
}
if (s[1] == 'x' && s[5] == 'x' && s[9] == 'x')
{
gameOver = true;
winner = 1;
}
if (s[1] == 'x' && s[4] == 'x' && s[7] == 'x')
{
gameOver = true;
winner = 1;
}
if (s[2] == 'x' && s[5] == 'x' && s[8] == 'x')
{
gameOver = true;
winner = 1;
}
if (s[3] == 'x' && s[5] == 'x' && s[7] == 'x')
{
gameOver = true;
winner = 1;
}
if (s[3] == 'x' && s[6] == 'x' && s[9] == 'x')
{
gameOver = true;
winner = 1;
}
if (s[4] == 'x' && s[5] == 'x' && s[6] == 'x')
{
gameOver = true;
winner = 1;
}
if (s[7] == 'x' && s[8] == 'x' && s[9] == 'x')
{
gameOver = true;
winner = 1;
}
// Player two check
if (s[1] == 'o' && s[2] == 'o' && s[3] == 'o')
{
gameOver = true;
winner = 2;
}
if (s[1] == 'o' && s[5] == 'o' && s[9] == 'o')
{
gameOver = true;
winner = 2;
}
if (s[1] == 'o' && s[4] == 'o' && s[7] == 'o')
{
gameOver = true;
winner = 2;
}
if (s[2] == 'o' && s[5] == 'o' && s[8] == 'o')
{
gameOver = true;
winner = 2;
}
if (s[3] == 'o' && s[5] == 'o' && s[7] == 'o')
{
gameOver = true;
winner = 2;
}
if (s[3] == 'o' && s[6] == 'o' && s[9] == 'o')
{
gameOver = true;
winner = 2;
}
if (s[4] == 'o' && s[5] == 'o' && s[6] == 'o')
{
gameOver = true;
winner = 2;
}
if (s[7] == 'o' && s[8] == 'o' && s[9] == 'o')
{
gameOver = true;
winner = 2;
}
// Tie Check
if (s[1] != '1' && s[2] != '2' && s[3] != '3' && s[4] != '4' && s[5] != '5' && s[6] != '6' && s[7] != '7' && s[8] != '8' && s[9] != '9')
{
gameOver = true;
}
} while (gameOver == false);
// Display winner
system("cls");
cout << "Game Over! ";
if (winner == 0)
{
cout << "The game is a tie!";
}
else if (winner == 1)
{
cout << "Winner is player 1!";
}
else if (winner == 2)
{
cout << "Winner is the computer!";
}
cout << endl;
system("pause");
return main();
}
else if (selection1 == 2)
{
// Player vs Player
do
{
// Show play mat
system("cls");
cout << "| " << s[1] << " | " << s[2] << " | " << s[3] << " |" << endl << "-------------" << endl;
cout << "| " << s[4] << " | " << s[5] << " | " << s[6] << " |" << endl << "-------------" << endl;
cout << "| " << s[7] << " | " << s[8] << " | " << s[9] << " |" << endl << "-------------" << endl << endl;
// Get move
cout << "Player " << playerTurn << "'s turn: ";
cin >> move;
if (playerTurn == 1)
{
playerTurn++;
if (move == 1)
{
if (s[1] == '1')
{
s[1] = 'x';
}
else if (s[1] == 'x' || s[1] == 'o')
{
playerTurn--;
}
}
else if (move == 2)
{
if (s[2] == '2')
{
s[2] = 'x';
}
else if (s[2] == 'x' || s[2] == 'o')
{
playerTurn--;
}
}
else if (move == 3)
{
if (s[3] == '3')
{
s[3] = 'x';
}
else if (s[3] == 'x' || s[3] == 'o')
{
playerTurn--;
}
}
else if (move == 4)
{
if (s[4] == '4')
{
s[4] = 'x';
}
else if (s[4] == 'x' || s[4] == 'o')
{
playerTurn--;
}
}
else if (move == 5)
{
if (s[5] == '5')
{
s[5] = 'x';
}
else if (s[5] == 'x' || s[5] == 'o')
{
playerTurn--;
}
}
else if (move == 6)
{
if (s[6] == '6')
{
s[6] = 'x';
}
else if (s[6] == 'x' || s[6] == 'o')
{
playerTurn--;
}
}
else if (move == 7)
{
if (s[7] == '7')
{
s[7] = 'x';
}
else if (s[7] == 'x' || s[7] == 'o')
{
playerTurn--;
}
}
else if (move == 8)
{
if (s[8] == '8')
{
s[8] = 'x';
}
else if (s[8] == 'x' || s[8] == 'o')
{
playerTurn--;
}
}
else if (move == 9)
{
if (s[9] == '9')
{
s[9] = 'x';
}
else if (s[9] == 'x' || s[9] == 'o')
{
playerTurn--;
}
}
}
else if (playerTurn == 2)
{
playerTurn = 1;
if (move == 1)
{
if (s[1] == '1')
{
s[1] = 'o';
}
else if (s[1] == 'x' || s[1] == 'o')
{
playerTurn++;
}
}
else if (move == 2)
{
if (s[2] == '2')
{
s[2] = 'o';
}
else if (s[2] == 'x' || s[2] == 'o')
{
playerTurn++;
}
}
else if (move == 3)
{
if (s[3] == '3')
{
s[3] = 'o';
}
else if (s[3] == 'x' || s[3] == 'o')
{
playerTurn++;
}
}
else if (move == 4)
{
if (s[4] == '4')
{
s[4] = 'o';
}
else if (s[4] == 'x' || s[4] == 'o')
{
playerTurn++;
}
}
else if (move == 5)
{
if (s[5] == '5')
{
s[5] = 'o';
}
else if (s[5] == 'x' || s[5] == 'o')
{
playerTurn++;
}
}
else if (move == 6)
{
if (s[6] == '6')
{
s[6] = 'o';
}
else if (s[6] == 'x' || s[6] == 'o')
{
playerTurn++;
}
}
else if (move == 7)
{
if (s[7] == '7')
{
s[7] = 'o';
}
else if (s[7] == 'x' || s[7] == 'o')
{
playerTurn++;
}
}
else if (move == 8)
{
if (s[8] == '8')
{
s[8] = 'o';
}
else if (s[8] == 'x' || s[8] == 'o')
{
playerTurn++;
}
}
else if (move == 9)
{
if (s[9] == '9')
{
s[9] = 'o';
}
else if (s[9] == 'x' || s[9] == 'o')
{
playerTurn++;
}
}
}
// Check if someone has won
// Player one check
if (s[1] == 'x' && s[2] == 'x' && s[3] == 'x')
{
gameOver = true;
winner = 1;
}
if (s[1] == 'x' && s[5] == 'x' && s[9] == 'x')
{
gameOver = true;
winner = 1;
}
if (s[1] == 'x' && s[4] == 'x' && s[7] == 'x')
{
gameOver = true;
winner = 1;
}
if (s[2] == 'x' && s[5] == 'x' && s[8] == 'x')
{
gameOver = true;
winner = 1;
}
if (s[3] == 'x' && s[5] == 'x' && s[7] == 'x')
{
gameOver = true;
winner = 1;
}
if (s[3] == 'x' && s[6] == 'x' && s[9] == 'x')
{
gameOver = true;
winner = 1;
}
if (s[4] == 'x' && s[5] == 'x' && s[6] == 'x')
{
gameOver = true;
winner = 1;
}
if (s[7] == 'x' && s[8] == 'x' && s[9] == 'x')
{
gameOver = true;
winner = 1;
}
// Player two check
if (s[1] == 'o' && s[2] == 'o' && s[3] == 'o')
{
gameOver = true;
winner = 2;
}
if (s[1] == 'o' && s[5] == 'o' && s[9] == 'o')
{
gameOver = true;
winner = 2;
}
if (s[1] == 'o' && s[4] == 'o' && s[7] == 'o')
{
gameOver = true;
winner = 2;
}
if (s[2] == 'o' && s[5] == 'o' && s[8] == 'o')
{
gameOver = true;
winner = 2;
}
if (s[3] == 'o' && s[5] == 'o' && s[7] == 'o')
{
gameOver = true;
winner = 2;
}
if (s[3] == 'o' && s[6] == 'o' && s[9] == 'o')
{
gameOver = true;
winner = 2;
}
if (s[4] == 'o' && s[5] == 'o' && s[6] == 'o')
{
gameOver = true;
winner = 2;
}
if (s[7] == 'o' && s[8] == 'o' && s[9] == 'o')
{
gameOver = true;
winner = 2;
}
// Tie Check
if (s[1] != '1' && s[2] != '2' && s[3] != '3' && s[4] != '4' && s[5] != '5' && s[6] != '6' && s[7] != '7' && s[8] != '8' && s[9] != '9')
{
gameOver = true;
}
} while (gameOver == false);
// Display winner
system("cls");
cout << "Game Over! ";
if (winner == 0)
{
cout << "The game is a tie!";
}
else if (winner == 1)
{
cout << "Winner is player 1!";
}
else if (winner == 2)
{
cout << "Winner is player 2!";
}
cout << endl;
system("pause");
return main();
}
else if (selection1 == 3)
{
// Report bug
ShellExecute(NULL, "open", "http://onehitgamer.com/forum/private.php?do=newpm&u=89470", NULL, NULL, SW_SHOWNORMAL);
return main();
}
else
{
// If user entered a invalid number
cout << "Invalid Selection" << endl;
system("pause");
return main();
}
}