Gravity Guy è un gioco in cui l'unico input dell'utente è un singolo tasto che inverte la direzione di gravità. Dato un livello di arte ASCII, determinare se è possibile per Gravity Guy raggiungere la fine.
Regole
- La direzione di gravità iniziale è verso il basso .
- La prima colonna dell'input conterrà sempre solo una
#
, che Gravity Guy inizia . - Ogni iterazione, si sposta sul personaggio direttamente alla sua destra .
- Se il suo percorso è bloccato e si sposta in a
#
, il giocatore perde . - Dopo essersi mosso, il giocatore può facoltativamente cambiare gravità da giù a su, o da su a giù.
- Gravity Guy quindi passa al successivo
#
(nell'attuale direzione di gravità). - Se non c'è niente
#
su cui cadere e lui cade dalla griglia , il giocatore perde . - Se Gravity Guy si sposta dalla parte destra della griglia di input, il giocatore vince .
Esempio
Se questa era la griglia di input:
###
# # #
###
Gravity Guy avrebbe iniziato a x
essere in queste posizioni dopo ogni iterazione. ^
= imposta la gravità verso l'alto e v
= imposta la gravità verso il basso.
v ^ v
-------------------------------------------------------------
### | ### | ### | ### | ### | ###
x | | x | x | x |
# # | #x # | # # | # # | # # | # # x
### # | ### # | ### # | ### # | ### # | ### #
Come puoi vedere, cambiando gravità in questi momenti Gravity Guy raggiunge la fine, quindi questo input restituirà un valore veritiero.
specificazioni
- La griglia di input può essere in qualsiasi formato "griglia" appropriato (stringa multilinea riempita con spazi, matrice di stringhe di linea, matrice di matrice di caratteri, ecc.).
- Se è possibile per il giocatore vincere il livello, emettere un
truthy
valore. In caso contrario, emettere unfalsey
valore. - La larghezza e l'altezza della griglia saranno
50
al massimo caratteri. - Questo è code-golf , può vincere il codice più breve in byte!
Casi test
(ogni caso separato da ----------
, anche le righe vuote devono essere riempite di spazi)
Vero
######### ######## ###### ######
# # # # # # #
### # # # # # # # # #
# ## # # ## # # # # # ##
# # # # # # # # # #######
# # # # # ### # #
# ## # ## # # # #
# # # # # #
# #################################### #
# #
#############################################
----------
###
----------
#####
####
----------
#####
# # #
# # #
#####
----------
############
###### ######
############
----------
### ###
# #
#### # ####
# #
# #
#
----------
######
#
##
#######
### #
# #
#####
----------
#####
# #
## #
#######
###
#
######
----------
###
# # #
###
----------
### ###
### ##
# #
#####
----------
#
# #
#
# # #
#
#
#
#
----------
##### ####
# # #
# # # ## #
# #
##### #### #
#
#########
----------
###########################
# # # # # # #
# # # # # # # # # #
# # # ######### ###########
# # # # # # # #
# # # ## ##### ### #
## # # # ## ###
# ##### #### ########### #
# # # # # ## #
# # ##### ### # # # # # #
# # # # ##
###########################
falso
###
#
####
----------
### ###
----------
#
### ###
#### ###
#
----------
### ###
# # #
#### # # ####
# #
# #
# #
#
----------
#######
# #
## #####
### ######
# #
#######
----------
###########################
# # # # # # # #
# # # # # # # # # #
# # # ######### ###########
# # # # # # # #
# # # ## ##### ### #
## # # # ## ###
# ##### #### ########### #
# # # # # ## #
# # ##### ### # # # # # #
# # # # ##
###########################
column
tipo speciale , sarebbe OK usare, suppongo.
#
nella prima colonna si trovi nella prima riga?