Gravity Guy adalah gim di mana satu-satunya input pengguna adalah kunci tunggal yang membalik arah gravitasi. Diberi tingkat seni ASCII, tentukan apakah Gravity Guy mungkin mencapai akhir.
Aturan
- Arah awal gravitasi sedang turun .
- Kolom pertama dari input akan selalu hanya berisi satu
#
, yang dimulai Gravity Guy di atas. - Setiap iterasi, ia bergerak ke karakter langsung di sebelah kanannya .
- Jika jalurnya diblokir dan dia pindah ke
#
, pemain kalah . - Setelah bergerak, pemain dapat secara opsional beralih gravitasi dari bawah ke atas, atau ke atas ke bawah.
- Gravity Guy kemudian jatuh ke yang berikutnya
#
(ke arah gravitasi saat ini). - Jika tidak ada
#
jatuh dan dia jatuh dari grid , pemain kalah . - Jika Gravity Guy bergerak dari sisi kanan grid input, pemain menang .
Contoh
Jika ini adalah kisi masukan:
###
# # #
###
Gravity Guy akan mulai di x
dan berada di posisi ini setelah setiap iterasi. ^
= beralih gravitasi ke atas dan v
= beralih gravitasi ke bawah.
v ^ v
-------------------------------------------------------------
### | ### | ### | ### | ### | ###
x | | x | x | x |
# # | #x # | # # | # # | # # | # # x
### # | ### # | ### # | ### # | ### # | ### #
Seperti yang Anda lihat, dengan beralih gravitasi pada saat ini Gravity Guy mencapai akhir, sehingga input ini akan mengembalikan nilai yang sebenarnya.
Spesifikasi
- Input grid dapat dalam format "grid" yang sesuai (string multiline yang diisi spasi, array string line, array array karakter, dll).
- Jika memungkinkan bagi pemain untuk memenangkan level, berikan
truthy
nilai. Jika tidak, keluarkanfalsey
nilai. - Lebar dan tinggi kisi akan menjadi
50
karakter paling banyak. - Ini adalah kode-golf , semoga kode terpendek dalam byte menang!
Uji Kasus
(setiap case dipisahkan oleh ----------
, setiap baris kosong juga harus diisi dengan spasi)
Benar
######### ######## ###### ######
# # # # # # #
### # # # # # # # # #
# ## # # ## # # # # # ##
# # # # # # # # # #######
# # # # # ### # #
# ## # ## # # # #
# # # # # #
# #################################### #
# #
#############################################
----------
###
----------
#####
####
----------
#####
# # #
# # #
#####
----------
############
###### ######
############
----------
### ###
# #
#### # ####
# #
# #
#
----------
######
#
##
#######
### #
# #
#####
----------
#####
# #
## #
#######
###
#
######
----------
###
# # #
###
----------
### ###
### ##
# #
#####
----------
#
# #
#
# # #
#
#
#
#
----------
##### ####
# # #
# # # ## #
# #
##### #### #
#
#########
----------
###########################
# # # # # # #
# # # # # # # # # #
# # # ######### ###########
# # # # # # # #
# # # ## ##### ### #
## # # # ## ###
# ##### #### ########### #
# # # # # ## #
# # ##### ### # # # # # #
# # # # ##
###########################
Salah
###
#
####
----------
### ###
----------
#
### ###
#### ###
#
----------
### ###
# # #
#### # # ####
# #
# #
# #
#
----------
#######
# #
## #####
### ######
# #
#######
----------
###########################
# # # # # # # #
# # # # # # # # # #
# # # ######### ###########
# # # # # # # #
# # # ## ##### ### #
## # # # ## ###
# ##### #### ########### #
# # # # # ## #
# # ##### ### # # # # # #
# # # # ##
###########################
column
jenis khusus , saya rasa tidak masalah untuk menggunakannya.
#
kolom di kolom pertama berada di baris pertama?