Oi, estou com um projeto a fazer no qual tenho que mover um personagem em uma determinada matriz.
P= JOGADOR
D e W sao locais proibidos de ir, onde há fisica e o movimentos nao sao possiveis.
' ' são espaços no qual o personagem consegue se mexer.
Então, eu tento me mexer para a direita so que ele printa que nao pode se mexer, sendo que era pra poder.
(o laço é só pra teste)
<
#include <stdio.h>
int main()
{
char mapa_jogo [12][15] =
{
{'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W','W', 'W', 'W'},
{'W', 'P', ' ', 'D', 'D', ' , ' ', ' ', 'D', 'D', 'D', ' ','D', ' ', 'W'},
{'W', ' ', ' ', 'W', ' ', 'W', 'D', 'W', 'E', 'W', 'D', 'W','D', 'W', 'W'},
{'W', ' ', ' ', 'D', ' ', 'D', ' ', 'K', ' ', 'D', ' ', ' ','D', 'D', 'W'},
{'W', 'W', 'D', 'W', 'D', 'W', 'D', 'W', ' ', 'W', 'D', 'W',' ', 'W', 'W'},
{'W', 'D', ' ', 'D', 'D', 'D', 'D', 'B', ' ', 'D', ' ', 'D',' ', ' ', 'W'},
{'W', 'W', 'D', 'W', 'K', 'W', 'D', 'W', 'D', 'W', 'K', 'W','D', 'W', 'W'},
{'W', ' ', 'D', ' ', 'E', ' ', ' ', 'D', ' ', ' ', 'E', ' ','D', 'B', 'W'},
{'W', 'W', 'D', 'W', ' ', 'W', 'D', 'W', 'D', 'W', ' ', 'W',' ', 'W', 'W'},
{'W', ' ', 'D', ' ', 'B', ' ', 'D', 'D', ' ', 'D', 'D', 'D','D', 'D', 'W'},
{'W', 'W', 'D', 'W', ' ', 'W', 'D', 'W', ' ', 'W', ' ', 'W','D', 'W', 'W'},
{'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W','W', 'W', 'W'}
};
int x =2, y=2;
char posicao_atual[2][2];
char novaPos;
char tecla;
do{
scanf(" %c", &tecla);
switch(tecla)
{
case 'd':
case 'D':
novaPos = posicao_atual[x+1][y];
if(novaPos == ' ')
{
novaPos = 'P';
posicao_atual[x][y] = novaPos;
x++;
printf("Ele se mexeu\n");
printf("posicao atual %d\n",x);
}
else{
novaPos = posicao_atual[x][y];
printf("ele nao se mexeu");
}
}
}while(x<20);
} >