purely because i haven't used tile i'll use board.
NPC Code:
while (true) {
this.tile = board[playerx+1.5+64*playery+2];
for(i=0;i<3;i++;) {
if (this.tile==511&&keydown(i)) {
playerx+=vecx(playerdir);
playery+=vecy(playerdir);
}
}
sleep .05;
}
thats just a rough draft, but kinda like that.