0% found this document useful (0 votes)
39 views4 pages

Tic Toe Tac

This C program implements a tic-tac-toe game between a human player and the computer. The algorithm selects either 'X' or 'O' for each player and alternates turns. It checks after each turn if that move resulted in a win by having a full row, column or diagonal filled with the player's marker. If the board is full without a win, the game ends in a draw. The program uses functions to display the board, get user input, place markers, and check for a win or draw condition.

Uploaded by

Darwin V
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views4 pages

Tic Toe Tac

This C program implements a tic-tac-toe game between a human player and the computer. The algorithm selects either 'X' or 'O' for each player and alternates turns. It checks after each turn if that move resulted in a win by having a full row, column or diagonal filled with the player's marker. If the board is full without a win, the game ends in a draw. The program uses functions to display the board, get user input, place markers, and check for a win or draw condition.

Uploaded by

Darwin V
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Tic-Tac-Toe game with C

AIM :
To Write a program that plays tic-tac-toe.

ALGORITHM:
The game is to be played between two people (in this program between
HUMAN and COMPUTER).
● One of the players chooses ‘O’ and the other ‘X’ to mark their
respective cells.
● The game starts with one of the players and the game ends
when one of the players has one whole row/ column/ diagonal
filled with his/her respective character (‘O’ or ‘X’).
● If no one wins, then the game is said to be a draw.

PROGRAM:
#include <stdio.h>
#include <conio.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;
printf("Player %d, enter a number: ", player);
scanf("%d", &choice);
mark = (player == 1) ? 'X' : 'O';
1

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
{
printf("Invalid move ");
player--;
getch();
}
i = checkwin();
player++;
}while (i == - 1);
board();
if (i == 1)
printf("==>\aPlayer %d win ", --player);
else
printf("==>\aGame draw");
2

getch();
return 0;
}
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;
}
void board()
{
system("cls");
printf("\n\n\tTic Tac Toe\n\n");
3

printf("Player 1 (X) - Player 2 (O)\n\n\n");


printf(" | | \n");
printf(" %c | %c | %c \n", square[1], square[2], square[3]);
printf("_____|_____|_____\n");
printf(" | | \n");
printf(" %c | %c | %c \n", square[4], square[5], square[6]);
printf("_____|_____|_____\n");
printf(" | | \n");
printf(" %c | %c | %c \n", square[7], square[8], square[9]);
printf(" | | \n\n");
}

OUTPUT :

You might also like