Aqui está um exemplo de um jogo em JavaScript que atende aos requisitos mencionados:
Neste jogo, você pode usar as setas do teclado para mover o jogador (@) pela grid. A grid consiste em diferentes tipos de células representadas por pictogramas: parede (█), tesouro ($), porta (⌘), saída (X). O objetivo é chegar à saída (9) coletando tesouros e abrindo portas pelo caminho.