Esse desafio é baseado em uma proposta do grupo usenet rec.games.roguelike.development há alguns anos. Não consigo encontrar a postagem original do grupo de notícias, mas você pode conferir o repositório de soluções do Github . Foi jogado apenas em alguns idiomas e eu adoraria ver mais!
Objetivo
O objetivo é criar um programa que apresente uma visão de cima para baixo de uma masmorra usando caracteres ascii. Haverá um @
sinal representando o jogador que pode ser movido através do espaço livre na masmorra (representado por ), embora ele não possa passar através das paredes (representado por
#
).
O mapa da masmorra deve ficar assim:
#### ####
# # # #
# #### #
# #
## ##
# #
# #
## ##
# #
# #### #
# # # #
#### ####
O jogador deve começar no local {2,2}, onde {0,0} é o canto superior esquerdo.
Interface
O usuário precisa ser capaz de mover o player nas quatro direções principais usando as teclas de seta do teclado.
É necessário que haja alguma maneira de o usuário sair do programa. Ele não precisa ser uma saída normal (por exemplo, não importa se uma exceção é impressa).
O mapa e o jogador precisam ser desenhados antes que qualquer entrada seja recebida, e o jogador precisa ser atualizado após cada entrada.
Bibliotecas
Sinta-se livre para usar bibliotecas estabelecidas para entrada ou saída do console, como Maldições. Apenas mencione na sua resposta o que você está usando.
Pontuação
Este é o código de golfe, o código mais curto vence!