Program Anda harus mengambil string multi-baris, seperti ini:
#############
# #
# p #
# #
#############
p
adalah pemain dan #
merupakan blok.
Sekarang di bawah itu di terminal harus menjadi garis input yang mengatakan:
How do you want to move?
Jika pemain mengetik l
dia harus berjalan meninggalkan ketika tidak ada blok, lain, ketika ada blok, dia tidak bisa melewati dan tidak bergerak tentu saja, sekarang output di terminal harus diperbarui ( dan output sebelumnya dihapus / ditimpa):
#############
# #
# p #
# #
#############
Ia dapat mengetik l
untuk kiri, r
kanan, u
atas dan d
bawah.
Input akan selalu multiline, tetapi tidak akan selalu diisi dengan spasi menjadi persegi panjang yang sempurna. Selain itu, hash dapat berada di mana saja di string, dan tidak akan selalu terhubung satu sama lain. Sebagai contoh:
## ##
# #
## p
#
adalah penjara yang valid. (perhatikan kurangnya spasi tambahan pada setiap baris)
Jika pemain keluar dari string, dia tidak harus ditampilkan. Tetapi jika dia kembali lagi nanti, dia harus ditampilkan lagi.
Dan batas-batas "di luar" string adalah length(longest_line)
dengan number_of_lines
persegi panjang, jadi bahkan jika satu baris tidak diisi dengan spasi di sebelah kanan, lokasi itu tidak dianggap di luar batas. Contoh menggunakan penjara bawah tanah sebelumnya:
## ##
# #p
##
#
Baris kedua tidak memiliki ruang di mana p sekarang, tetapi itu tidak masalah.
Akhirnya, program Anda harus mengulang selamanya mengambil input.
Uji kasus
Uji kasus 1:
####
# p#
#
####
How do you want to move?
d
####
# #
# p
####
Uji kasus 2:
####
p#
#
####
How do you want to move?
l
####
p #
#
####
How do you want to move?
d
####
#
p #
####
How do you want to move?
l
####
#
p #
####
How do you want to move?
l
####
#
#
####
How do you want to move?
r
####
#
p #
####
Tentu saja, ini tidak lengkap. Kode Anda harus berulang selamanya dan menghapus layar antara setiap output .
Output Anda diperbolehkan untuk meminta input sebagai How do you want to move?\n<input>
atau How do you want to move?<input>
(yaitu Anda tidak perlu input pada baris kosong), dan Anda tidak perlu baris kosong antara baris terakhir dari ruang bawah tanah dan prompt. (Namun mereka tidak bisa berada di jalur yang sama)
Celah standar tidak diizinkan! Ini adalah kode-golf, jadi kode terpendek dalam byte menang!
l
, r
, u
, atau d
) bisa apa saja, bukan hanya "Bagaimana Anda ingin pindah"? Itu tidak benar-benar mempengaruhi jawaban kecuali untuk golfyness.