Welcome to Home.

Saturday, December 6, 2014

Tic-Tacto Game Source code in C++

Tic-tac-toe, also know as Naughts and Crosses, is one of the most widely known games. Found everywhere from the temples of ancient Egypt to the medieval cathedrals of England, tic-tac-toe has entertained people for centuries. While tic-tac-toe is now considered to be a child's game, it was not always the case. In the past, the game was linked to pagan rituals dedicated to the magic properties of the nine-square grid. The grid was known as the Magic Square because the numbers 1-9 could be arranged so that their sum is the same horizontally, diagonally or vertically. During the Middle Ages, the Magic Square was known by secret societies as the Cabala of the Nine Chambers. They believed that the Magic Square held a numerological message about the world. Today, the game is more known as a simple childhood pastime. While in the United States, the game is known as tic-tac-toe, the original name of "Tit-Tat-Toe" comes to us from the 16th century. Tit by itself means to slap and a "tit for tat" is retaliation. Toe, which is the third piece placed makes the winning combination by securing the other two pieces. Recently tic-tac-toe reached stardom on the big screen in the Hollywood film Wargames, where tic-tac-toe was used to teach a super-computer about no-win situations.

The Board

Tic-tac-toe, also know as Naughts and Crosses, is one of the most widely known games. Found everywhere from the temples of ancient Egypt to the medieval cathedrals of England, tic-tac-toe has entertained people for centuries. While tic-tac-toe is now considered to be a child's game, it was not always the case. In the past, the game was linked to pagan rituals dedicated to the magic properties of the nine-square grid. The grid was known as the Magic Square because the numbers 1-9 could be arranged so that their sum is the same horizontally, diagonally or vertically. During the Middle Ages, the Magic Square was known by secret societies as the Cabala of the Nine Chambers. They believed that the Magic Square held a numerological message about the world. Today, the game is more known as a simple childhood pastime. While in the United States, the game is known as tic-tac-toe, the original name of "Tit-Tat-Toe" comes to us from the 16th century. Tit by itself means to slap and a "tit for tat" is retaliation. Toe, which is the third piece placed makes the winning combination by securing the other two pieces. Recently tic-tac-toe reached stardom on the big screen in the Hollywood film Wargames, where tic-tac-toe was used to teach a super-computer about no-win situations.

The Board

Tic Tac Toe can be played on almost any surface where players can either place or draw pieces. The game board is made by drawing two parallel vertical lines, then dividing the 2 lines into thirds with two horizontal lines. The end result should be a grid with nine equal squares.

The Pieces

Each player has five pieces. These pieces can be drawn or placed such as pebbles on a beach. It does not matter what type of pieces are used as long as there are two different sets of pieces. Typically, if the pieces are drawn, one player marks X and the other player marks O.

Rules

To move: Place your piece in an open square.
To win: Connect three in a row horizontally, vertically or diagonally.
Starting with a board of nine empty squares, two players alternate turns placing X’s and O’s in the empty squares.



#include <iostream.h>

char square[10] = {'o','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' : 'O';

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
O 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()
{
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;
}



No comments:

Post a Comment