Programınızın çok çizgili bir dize alması gerekir, örneğin:
#############
# #
# p #
# #
#############
p
oyuncu ve #
blok.
Şimdi terminalde bunun altında bir giriş hattı olmalı:
How do you want to move?
Eğer l
bir blok olmadığında sola yürümesi gereken oyuncu türleri varsa , başka bir blok olduğunda, geçemez ve elbette hareket etmez, şimdi terminaldeki çıkış güncellenmelidir ( ve önceki çıktı silindi / üzerine yazıldı):
#############
# #
# p #
# #
#############
l
Sola, r
sağa, u
yukarı ve d
aşağı yazabilir .
Giriş her zaman çok satırlı olacaktır, ancak her zaman boşluklarla mükemmel bir dikdörtgene dönüştürülmeyecektir. Ayrıca, karmalar dizenin herhangi bir yerinde olabilir ve her zaman birbirine bağlı olmaz. Örneğin:
## ##
# #
## p
#
geçerli bir zindan. (her satırda boşluk olmaması)
Oyuncu dizenin dışına çıkarsa, görüntülenmesi gerekmez. Ancak daha sonra geri gelirse tekrar gösterilmesi gerekir.
Ve "Dışarıdan" dizesi sınırları vardır length(longest_line)
tarafından number_of_lines
öylesine bile bir satır sağda boşluklarla takviye edilmez, dikdörtgen, o konum sınırların dışında kabul edilmez. Önceki zindanı kullanan örnek:
## ##
# #p
##
#
İkinci satırda p'nin bulunduğu bir alan yoktu, ama bu önemli değil.
Son olarak, programınız sürekli olarak girdi almak için döngüye girmelidir.
Test senaryoları
Test örneği 1:
####
# p#
#
####
How do you want to move?
d
####
# #
# p
####
Test örneği 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 #
####
Tabii ki, bunlar tamamlanmadı. Kodunuz sonsuza kadar döngü yapmalı ve her çıkış arasındaki ekranı temizlemelidir .
Çıktınızın giriş olarak How do you want to move?\n<input>
veya istemine izin verilir How do you want to move?<input>
(yani boş bir satırda girişe ihtiyacınız yoktur) ve zindanın son satırı ile istem arasında boş bir satıra ihtiyacınız yoktur. (ancak aynı hatta olamazlar)
Standart boşluklara izin verilmiyor! Bu kod golf, bu yüzden bayt içindeki en kısa kod kazanır!
l
, r
, u
, veya d
) herhangi bir şey olabilir, sadece "Nasıl taşınmayı istiyorum"? Golfyness dışında cevapları gerçekten etkilemez.