Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Minha função está imprimindo lixo.

Eu tentei implementar essa função no meu fogefoge, mas quando eu executo o jogo ele imprime lixo até dar um erro: Segmentation fault (core dumped). Eu tinha tentado usar o printf antes colocar o puts mas o resultado foi o mesmo, e eu tentei adicionar esses \0 mas n resolveu.

void imprimemapa(){
    char desenhoparede[4][8] = {
    {"......\0" },
    {"......\0" },
    {"......\0" },
    {"......\0" }
};

char desenhofantasma[4][8] = {
    {" .-.  \0" },
    {"| OO| \0" },
    {"|   | \0" },
    {"'^^^' \0" }
};

char desenhoheroi[4][8] = {
    {" .--. \0"  },
    {"/ _.-'\0"  },
    {"\\  '-.\0" },
    {" '--' \0"  }
};

char desenhopilula[4][8] = {
    {"      \0"},
    {" .-.  \0"},
    {" '-'  \0"},
    {"      \0"}
};

char desenhovazio[4][8] = {
    {"      \0"},
    {"      \0"},
    {"      \0"},
    {"      \0"}
};
        for(int i = 0; i < m.linhas; i++){
            for(int t = 0; i < 4; t++){
                for(int j = 0; j < m.colunas; j++){
                    switch(m.matriz[i][j]){
                        case VAZIO:
                            puts(desenhovazio[t]);
                            break;
                        case PILULA:
                            puts(desenhopilula[t]);
                            break;
                        case HEROI:
                            puts(desenhoheroi[t]);
                            break;
                        case FANTASMA:
                            puts(desenhofantasma[t]);
                            break;
                        case PAREDE_VERTICAL:
                        case PAREDE_HORIZONTAL:
                            puts(desenhoparede[t]);
                            break;
                    }                
                }
                printf("\n");
            }
        }
}
1 resposta
solução!

Esta linha está estranha, não seria t < 4 ?

for(int t = 0; i < 4; t++){