Bom dia galera,  sou novato no fórum e essa é minha primeira visita, também sou meio novo na programação em C,   então caso esteja cometendo algum equivoco desde já peço que entendão  :P   bom... eu estou construindo um jogo, mais especificamente um pacMan, e o mapa desse jogo  é uma matriz pré desenhada, porém ele é estática:    char mapaFundo[29] [22] ={//mapa do pacMan
        {k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k},   
        {k,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,k},
        {k,x,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,x,k},
        {k,x,y,x,x,x,y,x,x,y,x,x,y,x,x,y,x,x,x,y,x,k},
        {k,x,w,x,x,x,y,x,x,y,x,x,y,x,x,y,x,x,x,w,x,k},
        {k,x,y,x,x,x,y,x,x,y,x,x,y,x,x,y,x,x,x,y,x,k},
        {k,x,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,x,k},  
        {k,x,y,x,x,x,y,x,y,x,x,x,x,y,x,y,x,x,x,y,x,k},
        {k,x,y,x,x,x,y,x,y,x,x,x,x,y,x,y,x,x,x,y,x,k},
        {k,x,y,x,x,x,y,x,y,y,x,x,y,y,x,y,x,x,x,y,x,k},
        {k,x,w,y,y,y,y,x,x,v,x,x,v,x,x,y,y,y,y,w,x,k},
        {k,x,x,x,x,x,y,x,x,v,x,x,v,x,x,y,x,x,x,x,x,k},
        {k,k,k,k,k,x,y,x,v,v,v,v,v,v,x,y,x,k,k,k,k,k},
        {k,x,x,x,x,x,y,x,v,x,z,z,x,v,x,y,x,x,x,x,x,k},
        {tA,t,t,v,v,v,v,v,v,x,v,v,x,v,v,v,v,v,v,r,r,tB},
        {k,x,x,x,x,x,y,x,v,x,x,x,x,v,x,y,x,x,x,x,x,k},  
        {k,k,k,k,k,x,y,x,v,v,v,v,v,v,x,y,x,k,k,k,k,k},    
        {k,x,x,x,x,x,y,x,v,x,x,x,x,v,x,y,x,x,x,x,x,k},    
        {k,x,y,y,y,y,y,y,y,y,x,x,y,y,y,y,y,y,y,y,x,k},    
        {k,x,y,x,x,y,x,x,x,y,x,x,y,x,x,x,y,x,x,y,x,k},      
        {k,x,w,y,x,y,x,x,x,y,y,y,y,x,x,x,y,x,y,w,x,k},      
        {k,x,x,y,x,y,y,y,y,y,x,x,y,y,y,y,y,x,y,x,x,k},      
        {k,x,x,y,x,y,x,x,y,x,x,x,x,y,x,x,y,x,y,x,x,k},      
        {k,x,y,y,y,y,x,x,y,y,x,x,y,y,x,x,y,y,y,y,x,k}, 
        {k,x,y,x,x,x,x,x,x,y,x,x,y,x,x,x,x,x,x,y,x,k},      
        {k,x,y,x,x,x,x,x,x,y,x,x,y,x,x,x,x,x,x,y,x,k},       
        {k,x,w,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,w,x,k},      
        {k,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,k},
        {k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k},              
        };
         while(controle != 'e' ){//Enquanto o usuário não digita 'E' ele continua no laço do jogo
         if(kbhit())
         controle = getch();               
         system("cls");
         for (i=0; i<29; i++){//Escreve as linhas e faz PacMan andar na vertical
             printf("             ");
             for(j=0; j<22; j++){//Escreve as colunas e faz PacMan andar na horizontal    
                  if (pacX == i && pacY == j){
                           if(hadukenModeON){//quando especial ativado...
                                             timerMaldito(1);//timer recebe 1 em cada interação
                                             if(interacoesPoder == 100){//se o timer == 100
                                                              hadukenModeON = false; //fim de poder especial 
                                             }
                           }
                           if(!flag){
                                     printf("C");//primeira forma do pacMan
                                     flag = true;
                                     }else{
                                           printf("<");//segunda forma do pacMan
                                           flag = false;
                                           }
                  }else if(fantAX == i && fantAY == j){
                                   if(!hadukenModeON){//caso especial desativado
                                                      printf("W");//primeira forma do FantasmaA
                                   }else{//caso especial ativado modifica for fantasma A
                                         if(!flag2){//primeira forma do fantasma
                                                    printf("W");
                                                    flag2 = true;
                                         }else{//segunda forma do fantasma
                                               printf("T");
                                               flag2 = false;
                                               }
                                   }
                  }else if(fantBX == i && fantBY == j){
                        if(!hadukenModeON){//caso especial desativado
                             printf("W");//primeira forma do FantasmaB
                        }else{//caso especial ativado modifica for fantasma B
                             if(!flag3){//primeira forma do fantasma
                                        printf("W");
                                        flag3 = true;
                             }else{//segunda forma do fantasma
                                   printf("T");
                                   flag3 = false;
                             }
                        }
                  }else{
                  printf("%c", mapaFundo[i][j]);    
                  }
             }
            printf("\n");  
         }   bom eu sei que talvez não faça muito sentido eu aloca-la dinamicamente, sendo que o numero de linhas  e colunas da matriz sempre serão fixos neste caso, porém mesmo assim preciso fazê-lo. Bom eu sinceramente  não estendo quase nada de alocação e ponteiros e se fosse possível me responder explicadinho eu agradeço...  abrass