Gravity Guy es un juego en el que la única entrada del usuario es una sola tecla que invierte la dirección de la gravedad. Dado un nivel de arte ASCII, determine si es posible que Gravity Guy llegue al final.
Reglas
- La dirección inicial de la gravedad es hacia abajo .
- La primera columna de la entrada siempre contendrá solo una
#
, sobre la cual Gravity Guy comienza . - Cada iteración, se mueve al personaje directamente a su derecha .
- Si su camino está bloqueado y se mueve hacia a
#
, el jugador pierde . - Después de moverse, el jugador puede cambiar opcionalmente la gravedad de abajo hacia arriba o de arriba hacia abajo.
- Gravity Guy luego pasa a la siguiente
#
(en la dirección de gravedad actual). - Si no hay
#
que caer y él se cae de la red , el jugador pierde . - Si Gravity Guy se mueve del lado derecho de la cuadrícula de entrada, el jugador gana .
Ejemplo
Si esta fue la cuadrícula de entrada:
###
# # #
###
Gravity Guy comenzaría en el x
y el estar en estas posiciones después de cada iteración. ^
= cambiar la gravedad a arriba y v
= cambiar la gravedad a abajo.
v ^ v
-------------------------------------------------------------
### | ### | ### | ### | ### | ###
x | | x | x | x |
# # | #x # | # # | # # | # # | # # x
### # | ### # | ### # | ### # | ### # | ### #
Como puede ver, al cambiar la gravedad en estos momentos, Gravity Guy llega al final, por lo que esta entrada devolvería un valor verdadero.
Presupuesto
- La cuadrícula de entrada puede estar en cualquier formato de "cuadrícula" apropiado (cadena multilínea rellenada con espacios, matriz de cadenas de línea, matriz de matriz de caracteres, etc.).
- Si es posible que el jugador gane el nivel, genera un
truthy
valor. Si no, emite unfalsey
valor. - El ancho y la altura de la cuadrícula serán
50
caracteres como máximo. - Este es el código de golf , ¡que gane el código más corto en bytes!
Casos de prueba
(cada caso separado por ----------
, cualquier línea en blanco también debe rellenarse con espacios)
Cierto
######### ######## ###### ######
# # # # # # #
### # # # # # # # # #
# ## # # ## # # # # # ##
# # # # # # # # # #######
# # # # # ### # #
# ## # ## # # # #
# # # # # #
# #################################### #
# #
#############################################
----------
###
----------
#####
####
----------
#####
# # #
# # #
#####
----------
############
###### ######
############
----------
### ###
# #
#### # ####
# #
# #
#
----------
######
#
##
#######
### #
# #
#####
----------
#####
# #
## #
#######
###
#
######
----------
###
# # #
###
----------
### ###
### ##
# #
#####
----------
#
# #
#
# # #
#
#
#
#
----------
##### ####
# # #
# # # ## #
# #
##### #### #
#
#########
----------
###########################
# # # # # # #
# # # # # # # # # #
# # # ######### ###########
# # # # # # # #
# # # ## ##### ### #
## # # # ## ###
# ##### #### ########### #
# # # # # ## #
# # ##### ### # # # # # #
# # # # ##
###########################
Falso
###
#
####
----------
### ###
----------
#
### ###
#### ###
#
----------
### ###
# # #
#### # # ####
# #
# #
# #
#
----------
#######
# #
## #####
### ######
# #
#######
----------
###########################
# # # # # # # #
# # # # # # # # # #
# # # ######### ###########
# # # # # # # #
# # # ## ##### ### #
## # # # ## ###
# ##### #### ########### #
# # # # # ## #
# # ##### ### # # # # # #
# # # # ##
###########################
column
tipo especial , estaría bien usar, supongo.
#
en la primera columna esté en la primera fila?