Gravity Guy ist ein Spiel, bei dem die einzige Benutzereingabe eine einzelne Taste ist, die die Richtung der Schwerkraft umdreht. Bestimmen Sie bei einem vorgegebenen ASCII-Kunstlevel, ob es Gravity Guy möglich ist, das Ende zu erreichen.
Regeln
- Die anfängliche Richtung der Schwerkraft ist nach unten .
- Die erste Spalte der Eingabe enthält immer nur eine
#
, auf der Gravity Guy beginnt . - Bei jeder Iteration bewegt er sich zu der Figur rechts von ihm .
- Wenn sein Weg blockiert ist und er sich in ein bewegt
#
, verliert der Spieler . - Nach dem Bewegen kann der Spieler die Schwerkraft wahlweise von unten nach oben oder von oben nach unten umschalten .
- Gravity Guy fällt
#
dann auf den nächsten (in der aktuellen Richtung der Schwerkraft). - Wenn es keinen gibt,
#
auf den man fallen kann und der vom Gitter fällt , verliert der Spieler . - Wenn sich Gravity Guy von der rechten Seite des Eingaberasters entfernt, gewinnt der Spieler .
Beispiel
Wenn dies das Eingaberaster war:
###
# # #
###
Gravity Guy begann x
nach jeder Iteration an diesen Positionen. ^
= Schwerkraft nach oben und v
= Schwerkraft nach unten schalten.
v ^ v
-------------------------------------------------------------
### | ### | ### | ### | ### | ###
x | | x | x | x |
# # | #x # | # # | # # | # # | # # x
### # | ### # | ### # | ### # | ### # | ### #
Wie Sie sehen, erreicht Gravity Guy durch das Umschalten der Schwerkraft zu diesen Zeiten das Ende, sodass diese Eingabe einen Wahrheitswert zurückgeben würde.
Spezifikationen
- Das Eingaberaster kann in jedem geeigneten "Raster" -Format vorliegen (mehrzeilige Zeichenfolge, die mit Leerzeichen aufgefüllt ist, eine Reihe von Zeilenfolgen, eine Reihe von Zeichenfolgen usw.).
- Wenn es dem Spieler möglich ist, das Level zu gewinnen, geben Sie einen
truthy
Wert aus. Wenn nicht, geben Sie einenfalsey
Wert aus. - Die Breite und Höhe des Rasters sind
50
maximal Zeichen. - Das ist Code-Golf , möge der kürzeste Code in Bytes gewinnen!
Testfälle
(durch jeweils getrennte ----------
Leerzeilen sollten ebenfalls mit Leerzeichen aufgefüllt werden)
Wahr
######### ######## ###### ######
# # # # # # #
### # # # # # # # # #
# ## # # ## # # # # # ##
# # # # # # # # # #######
# # # # # ### # #
# ## # ## # # # #
# # # # # #
# #################################### #
# #
#############################################
----------
###
----------
#####
####
----------
#####
# # #
# # #
#####
----------
############
###### ######
############
----------
### ###
# #
#### # ####
# #
# #
#
----------
######
#
##
#######
### #
# #
#####
----------
#####
# #
## #
#######
###
#
######
----------
###
# # #
###
----------
### ###
### ##
# #
#####
----------
#
# #
#
# # #
#
#
#
#
----------
##### ####
# # #
# # # ## #
# #
##### #### #
#
#########
----------
###########################
# # # # # # #
# # # # # # # # # #
# # # ######### ###########
# # # # # # # #
# # # ## ##### ### #
## # # # ## ###
# ##### #### ########### #
# # # # # ## #
# # ##### ### # # # # # #
# # # # ##
###########################
Falsch
###
#
####
----------
### ###
----------
#
### ###
#### ###
#
----------
### ###
# # #
#### # # ####
# #
# #
# #
#
----------
#######
# #
## #####
### ######
# #
#######
----------
###########################
# # # # # # # #
# # # # # # # # # #
# # # ######### ###########
# # # # # # # #
# # # ## ##### ### #
## # # # ## ###
# ##### #### ########### #
# # # # # ## #
# # ##### ### # # # # # #
# # # # ##
###########################
column
Typ hat, wäre das, denke ich, in Ordnung.
#
in der ersten Spalte in der ersten Zeile steht?