No Caso se ele pode passar por cima do que e diferente o pacman também pode comer o F já que somente foi dito que o que não pode passar pro cima do que e igual e das paredes, não assistir o próximo vídeo creio que a solução esteja adiante
No Caso se ele pode passar por cima do que e diferente o pacman também pode comer o F já que somente foi dito que o que não pode passar pro cima do que e igual e das paredes, não assistir o próximo vídeo creio que a solução esteja adiante
Olá Jhon.
Analisando a lógica na função podeandar, verificamos que sim, é possível que o HEROI pode comer o FANTASMA.
int podeandar(MAPA* m, char personagem, int x, int y) {
return
ehvalida(m, x, y) &&
!ehparede(m, x, y) &&
!ehpersonagem(m, personagem, x, y);
}
Na função ehvalida verificamos se o movimento está dentro do mapa.
int ehvalida(MAPA* m, int x, int y) {
if(x >= m->linhas)
return 0;
if(y >= m->colunas)
return 0;
return 1;
}
Na função ehpersonagem verificamos se o lugar destino tem um personagem tem igual ao que está se movendo.
int ehpersonagem(MAPA* m, char personagem, int x, int y) {
return
m->matriz[x][y] == personagem;
}
Na função ehparede verificamos se tem uma parede na posição destino.
int ehparede(MAPA* m, int x, int y) {
return
m->matriz[x][y] == PAREDE_VERTICAL ||
m->matriz[x][y] == PAREDE_HORIZONTAL;
}
Então sim é possível, mas você está correto, mais para frente esse ponto será solucionado. Espero ter ajudado, mas qualquer duvida não hesite em perguntar.
Bons Estudos