Wednesday, January 30, 2013

TIC TAC

#include <stdio.h>

    int main (void)
    {
        int player = 0;
        int winner = 0;
        int choice = 0;
        int row = 0;
        int column = 0;
        int line = 0;

        char board [3][3] = {
                     {'1','2','3'},
                     {'4','5','6'},
                     {'7','8','9'}
                            };

        int i;
        for(i=0;i<9,winner==0;i++)
        {
            printf("\n\n");
            printf(" %c | %c | %c\n", board[0][0], board[0][1], board[0][2]);
            printf("---|---|---\n");
            printf(" %c | %c | %c\n", board[1][0], board[1][1], board[1][2]);
            printf("---|---|---\n");
            printf(" %c | %c | %c\n", board[2][0], board[2][1], board[2][2]);

            player = i%2 + 1;

            do
            {
                printf("\nPlayer %d, please enter the number of the square "
                    "where you want to place your %c: ",
                    player,(player==1)?'X':'O');
                scanf("%d", &choice);


                row = --choice/3;
                column = choice%3;
            }while(choice<0 || choice>9 || board [row][column]>'9');

            board[row][column] = (player == 1) ? 'X' : 'O';


            if((board[0][0]==board[1][1] && board[0][0]==board[2][2]) ||
               (board[0][2]==board[1][1] && board[0][2]==board[2][0]))
               winner = player;
            else
                for(line = 0; line <=2; line++)
                    if((board[line][0]==board[line][1] && board[line][0]==board[line][2])||
                        (board[0][line]==board[1][line] && board[0][line]==board[2][line]))
                        winner = player;


        }            printf("\n\n");
            printf(" %c | %c | %c\n", board[0][0], board[0][1], board[0][2]);
            printf("---|---|---\n");
            printf(" %c | %c | %c\n", board[1][0], board[1][1], board[1][2]);
            printf("---|---|---\n");                            printf(" %c | %c | %c\n", board[2][0], board[2][1], board[2][2]);


            if(winner==0)
                printf("The game is a draw\n");
            else
            printf("Player %d has won\n", winner);

        return 0;
    }


    out put



 1 | 2 | 3
---|---|---
 4 | 5 | 6
---|---|---
 7 | 8 | 9

Player 1, please enter the number of the square where you want to place your X:
4


 1 | 2 | 3
---|---|---
 X | 5 | 6
---|---|---
 7 | 8 | 9

Player 2, please enter the number of the square where you want to place your O:
6


 1 | 2 | 3
---|---|---
 X | 5 | O
---|---|---
 7 | 8 | 9

Player 1, please enter the number of the square where you want to place your X:
6

Player 1, please enter the number of the square where you want to place your X:
3


 1 | 2 | X
---|---|---
 X | 5 | O
---|---|---
 7 | 8 | 9

Player 2, please enter the number of the square where you want to place your O:
1


 O | 2 | X
---|---|---
 X | 5 | O
---|---|---
 7 | 8 | 9

Player 1, please enter the number of the square where you want to place your X:
7


 O | 2 | X
---|---|---
 X | 5 | O
---|---|---
 X | 8 | 9

Player 2, please enter the number of the square where you want to place your O:
8


 O | 2 | X
---|---|---
 X | 5 | O
---|---|---
 X | O | 9

Player 1, please enter the number of the square where you want to place your X:
5


 O | 2 | X
---|---|---
 X | X | O
---|---|---
 X | O | 9
Player 1 has won


No comments:

Post a Comment