samedi 24 octobre 2015

Is this a valid Tic Tac Toe winning condition checker function?

I'm trying to make a condition checker for a Tic Tac Toe game to announce when the player has won. I have created the function shown below. However, when I call it and try to apply the winning conditions, nothing happens. I know it's a tedious function but I'm confused on how to make it effective and efficient.

Function:

int checker_o(char aray[3][3]){

        if(aray[0][0]=='O'&& aray[0][1]=='O'|| aray[0][2]=='O'){
            system("cls");
            printf("Player 'O' Wins!");
            getchar();
            return 1;
        }

        if(aray[1][0]=='O'&& aray[1][1]=='O' && aray[1][2]=='O'){
            system("cls");
            printf("Player 'O' Wins!");
            getchar();
            return 1;
        }

        if(aray[2][0]=='O'&& aray[2][1]=='O'&& aray[2][2]=='O'){
            system("cls");
            printf("Player 'O' Wins!");
            getchar();
            return 1;
        }

        if(aray[0][0]=='O'&& aray[1][0]=='O' && aray[2][0]=='O'){
            system("cls");
            printf("Player 'O' Wins!");
            getchar();
            return 1;
        }

        if(aray[0][1]=='O'&& aray[1][1]=='O' && aray[2][1]=='O'){
            system("cls");
            printf("Player 'O' Wins!");
            getchar();
            return 1;
        }

        if(aray[0][2]=='O'&& aray[1][2]=='O' && aray[2][2]=='O'){
            system("cls");
            printf("Player 'O' Wins!");
            getchar();
            return 1;
        }

        if(aray[0][0]=='O'&& aray[1][1]=='O' && aray[2][2]=='O'){
            system("cls");
            printf("Player 'O' Wins!");
            getchar();
            return 1;
        }

        if(aray[0][2]=='O'&& aray[1][1]=='O' && aray[2][0]=='O'){
            system("cls");
            printf("Player 'O' Wins!");
            getchar();
            return 1;
        }
}

Aucun commentaire:

Enregistrer un commentaire