2
respostas

Substituindo a função "copiamapa()" com o "memcpy()"

Fala, galera !

Tô com uma dúvida quanto ao uso do "memcpy()". Como posso fazer uso dessa função no lugar da função "copiamapa()" ?

Tentei o código a seguir, mas os Fantasmas continuavam indo até o final da matriz ao mover o fogefoge.

void fantasmas() {

    MAPA copia;

    // copiamapa(&copia, &m);
    memset(&copia, 0, sizeof(MAPA));
    memcpy(&copia, &m, sizeof(MAPA));

    for(int i = 0; i < copia.linhas; i++) {
        for(int j = 0; j < copia.colunas; j++) {
            if(copia.matriz[i][j] == FANTASMA) {
                if(ehvalida(&m, i, j+1) && ehvazia(&m, i, j+1)) {
                    andanomapa(&m, i, j, i, j+1);
                }
            }
        }
    }

    // liberamapa(&copia);
}
2 respostas

Quando você usa a copiamapa não tem esse problema?

Não. Quando eu uso a "copiamapa()" fica tudo ok.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software