Jogo da velho em C

Bom dia, alguém pode me ajudar com esse trabalho ?

  1. CÓDIGO C INCOMPLETO

#include < stdio.h >
int main (void) {
char ________________________; // Declaração da matriz para o jogo
char O = ‘O’, X = ‘X’;
int jogadas = 0, j, i;

 ______________________                                                       // Inicialização da matriz do jogo
     _____________________________
         ______________________________

 while (l <= 9) {
     printf ("  JOGO DA VELHA \n");
     for (i = 0; i < 3; i++) {
         printf ("\t\t     %c | %c | %c\n",Matriz [i] [0], Matriz [i] [1], Matriz [i] [2]);
         if (i < 3-1)
             printf ("\t\t    ---+---+---  \n");
     }

     printf ("\nINSIRA AS COORDENADAS, ");
     if (l % 2)
           printf ("JOGADOR 2\nLINHA: ");
     else
           printf ("JOGADOR 1\nLINHA: ");
     scanf ("%d",&i);
     printf ("COLUNA: ");
     scanf (________________);                                                // Parâmetros para entrada de dados da coluna

     if (Matriz [i-1] [j-1] == ' ') {
         if (l%2)
               Matriz [i-1] [j-1] = X;
         else
               Matriz [i-1] [j-1] = O;
         jogadas++;
     }

     if ((Matriz[0][0]==O && Matriz[0][1]==O && Matriz[0][2]==O) ||
        (Matriz[1][0]==O && Matriz[1][1]==O && Matriz[1][2]==O) ||
        (Matriz[2][0]==O && Matriz[2][1]==O && Matriz[2][2]==O) ||
        (Matriz[0][0]==O && Matriz[1][0]==O && Matriz[2][0]==O) ||
        (Matriz[0][1]==O && Matriz[1][1]==O && Matriz[2][1]==O) ||
        (Matriz[0][2]==O && Matriz[1][2]==O && Matriz[2][2]==O) ||
        (Matriz[0][0]==O && Matriz[1][1]==O && Matriz[2][2]==O) ||
        (Matriz[0][2]==O && Matriz[1][1]==O && Matriz[2][0]==O))
     {
         printf("\n\a\t\tJogador 1, VOCÊ VENCEU!!!\n");
         break;
     }
     if ((Matriz[0][0]==X && Matriz[0][1]==X && Matriz[0][2]==X) ||
        (Matriz[1][0]==X && Matriz[1][1]==X && Matriz[1][2]==X) ||
        (Matriz[2][0]==X && Matriz[2][1]==X && Matriz[2][2]==X) ||
        (Matriz[0][0]==X && Matriz[1][0]==X && Matriz[2][0]==X) ||
        (Matriz[0][1]==X && Matriz[1][1]==X && Matriz[2][1]==X) ||
        (Matriz[0][2]==X && Matriz[1][2]==X && Matriz[2][2]==X) ||
        (Matriz[0][0]==X && Matriz[1][1]==X && Matriz[2][2]==X) ||
        (Matriz[0][2]==X && Matriz[1][1]==X && Matriz[2][0]==X))
     {
         printf ("\n\n\n\n\a\t\tJogador 2, VOCÊ VENCEU!!!\n");
         break;
     }

     if (__________________________) {                                            // Condição para que a partida termine empatada
         printf ("PARTIDA EMPATADA");
         break;
     }
 }
 return (0);

}

  1. CITAÇÕES DE MELHORIAS QUE PODERIAM SER FEITAS NO CÓDIGO.