Gravity Guyは、ユーザーの入力が重力の方向を反転させる1つのキーのみであるゲームです。ASCIIアートレベルが与えられたら、Gravity Guyが最後に到達できるかどうかを判断します。
ルール
- 重力の初期方向は下向きです。
- 入力の最初の列には常にGravity Guy が開始する1つのみ が含まれます。
#
- 繰り返しごとに、彼は右側のキャラクターに直接移動します。
- 彼のパスがブロックされて彼がに移動するなら
#
、プレーヤーは負けます。 - 移動後、プレーヤーは重力を下から上、または上から下にオプションで切り替えることができます。
- Gravity Guyは、次に
#
(重力の現在の方向に)次へ進みます。 #
上に落ちるものがなく、彼がグリッドから落ちる場合、プレーヤーは負けます。- Gravity Guy が入力グリッドの右側から移動すると、プレーヤーが勝ちます。
例
これが入力グリッドの場合:
###
# # #
###
Gravity Guyはx
、各反復の後、これらの位置から開始します。^
=重力を上に、v
=重力を下に切り替えます。
v ^ v
-------------------------------------------------------------
### | ### | ### | ### | ### | ###
x | | x | x | x |
# # | #x # | # # | # # | # # | # # x
### # | ### # | ### # | ### # | ### # | ### #
ご覧のように、これらの時間に重力を切り替えると、Gravity Guyは終わりに達するため、この入力は真実の値を返します。
仕様書
- 入力グリッドは、適切な「グリッド」形式(スペースが埋め込まれた複数行の文字列、行文字列の配列、文字配列の配列など)になります。
- プレイヤーがレベルに勝つことができる場合、
truthy
値を出力します。そうでない場合は、falsey
値を出力します。 - グリッドの幅と高さは
50
最大で文字になります。 - これはcode-golfで、バイト単位の最短コードが勝つかもしれません!
テストケース
(で区切られた各ケースに----------
は、空白行にもスペースを埋め込む必要があります)
本当
######### ######## ###### ######
# # # # # # #
### # # # # # # # # #
# ## # # ## # # # # # ##
# # # # # # # # # #######
# # # # # ### # #
# ## # ## # # # #
# # # # # #
# #################################### #
# #
#############################################
----------
###
----------
#####
####
----------
#####
# # #
# # #
#####
----------
############
###### ######
############
----------
### ###
# #
#### # ####
# #
# #
#
----------
######
#
##
#######
### #
# #
#####
----------
#####
# #
## #
#######
###
#
######
----------
###
# # #
###
----------
### ###
### ##
# #
#####
----------
#
# #
#
# # #
#
#
#
#
----------
##### ####
# # #
# # # ## #
# #
##### #### #
#
#########
----------
###########################
# # # # # # #
# # # # # # # # # #
# # # ######### ###########
# # # # # # # #
# # # ## ##### ### #
## # # # ## ###
# ##### #### ########### #
# # # # # ## #
# # ##### ### # # # # # #
# # # # ##
###########################
偽
###
#
####
----------
### ###
----------
#
### ###
#### ###
#
----------
### ###
# # #
#### # # ####
# #
# #
# #
#
----------
#######
# #
## #####
### ######
# #
#######
----------
###########################
# # # # # # # #
# # # # # # # # # #
# # # ######### ###########
# # # # # # # #
# # # ## ##### ### #
## # # # ## ###
# ##### #### ########### #
# # # # # ## #
# # ##### ### # # # # # #
# # # # ##
###########################
column
タイプを持っているなら、それは私が推測するのに使用しても大丈夫でしょう。
#
最初の列の最初の行にあることは可能ですか?