Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Tic Tac Toe game

I was working on learning c code and was making a tic-tac-toe game. The issue is my Boolean variable is not working, and I don’t know how to make it work. In visual code the error I get is that it is unidentified. There are a total of 9 errors.I also wanted to know if the line where I printed the array with the grid is correct or not.

#include <stdio.h>
#include <stdlib.h>
#include <strings.h>

char space[3][3] = {
    {'1', '2', '3'},
    {'4', '5', '6'},
    {'7', '8', '9'},
};
int row;
int column;
char token = 'x';
bool tie = false;
char n1[256];
char n2[256];

void functionboard()
{
    char space[3][3] = {
        {'1', '2', '3'},
        {'4', '5', '6'},
        {'7', '8', '9'},
    };

    printf("        |        |    \n");
    printf("  ", space[0][0], "| ", space[0][1], "| ", space[0][2], "  \n");
    printf("______|________|_____\n");
    printf("        |        |    \n");
    printf("  ", space[1][0], "  | ", space[1][1], "  | ", space[1][2], "  \n");
    printf("______|________|_____\n");
    printf("        |        |    \n");
    printf("  ", space[2][0], "  | ", space[2][1], "  | ", space[2][2], "  \n");
    printf("      |        |    \n");
}

void functionOne()
{

    int dight;

    if (token == 'x')
    {
        printf(n1, "please enter");
        scanf("&d", &dight);
    }

    if (token == '0')
    {
        printf(n2, "please enter");
        scanf("&d", &dight);
    }

    if (dight == 1)
    {
        row = 0;
        column = 0;
    }

    if (dight == 2)
    {
        row = 0;
        column = 1;
    }

    if (dight == 3)
    {
        row = 0;
        column = 2;
    }

    if (dight == 4)
    {
        row = 1;
        column = 0;
    }

    if (dight == 5)
    {
        row = 1;
        column = 1;
    }

    if (dight == 6)
    {
        row = 1;
        column = 2;
    }
    if (dight == 7)
    {
        row = 2;
        column = 0;
    }

    if (dight == 8)
    {
        row = 2;
        column = 1;
    }

    if (dight == 9)
    {
        row = 2;
        column = 2;
    }

    else if (dight < 1 || dight > 9)
    {
        prinf("Invalid !!!");
    }

    if (token == 'x' && space[row][column] != 'x' && space[row][column] != '0')
    {
        space[row][column] = 'x';
        token = '0';
    }

    else if (token == '0' && space[row][column] != 'x' && space[row][column] != '0')
    {
        space[row][column] = '0';
        token = 'x';
    }
    else
    {
        printf("There is no empty space!");
        functionboard();
    }
    functionOne();
}

bool functionDraw()
{

    for (int i = 0; i < 3; i++)
    {
        if (space[i][0] == space[i][1] && space[i][0] == space[i][2] || space[0][i] == space[1][i] && space[0][i] == space[2][i])
            return true;
    }
    if (space[0][0] == space[1][1] && space[1][1] == space[2][2] || space[0][2] == space[1][1] && space[1][1] == space[2][0])
    {
        return true;
    }

    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            if (space[i][j] != 'x' && space[i][j] != '0')
            {
                return false;
            }
        }
    }
    tie = true;
    return false;
}

int main()
{
    printf("Enter the name of the first player : \n");
    scanf("%c", n1);
    printf("Enter the name of the second player : \n");
    scanf("%c", n2);
    printf("%c is player1 so he/she will play first \n", n1);
    printf("%c is player2 so he/she will play first \n", n2);

    while (!functionDraw())
    {
        functionboard();
        functionOne();
        functionDraw();
    }

    if (token == 'x' && tie == false)
    {
        printf("%c Wins!!\n", n2);
    }
    else if (token == '0' && tie == false)
    {
        printf("%c Wins!!\n", n1);
    }
    else
    {
        printf("its a draw!!");
    }
}

>Solution :

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

If the error you’re getting is about the type bool and not the variable itself, see this question: you need to also include <stdbool.h> to be able to use the bool type.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading