Chương trình của bạn phải có một chuỗi nhiều dòng, như thế này:
#############
# #
# p #
# #
#############
p
là người chơi và #
là một khối.
Bây giờ dưới đó trong thiết bị đầu cuối nên là một dòng đầu vào nói:
How do you want to move?
Nếu người chơi loại l
anh ta phải đi bên trái khi không có khối, thì người khác, khi có khối, anh ta không thể đi qua và dĩ nhiên không di chuyển, bây giờ đầu ra trong thiết bị đầu cuối phải được cập nhật ( và đầu ra trước đó bị xóa / ghi đè):
#############
# #
# p #
# #
#############
Anh ta có thể gõ l
cho trái, r
phải, u
lên và d
xuống.
Đầu vào sẽ luôn là đa dòng, nhưng sẽ không luôn được đệm với các khoảng trắng thành một hình chữ nhật hoàn hảo. Ngoài ra, các giá trị băm có thể ở bất kỳ đâu trong chuỗi và sẽ không luôn được kết nối với nhau. Ví dụ:
## ##
# #
## p
#
là một ngục tối hợp lệ. (lưu ý thiếu dấu cách trên mỗi dòng)
Nếu người chơi đi ra ngoài chuỗi, anh ta sẽ không phải hiển thị. Nhưng nếu anh ta quay lại sau, anh ta phải được hiển thị lại.
Và ranh giới của "bên ngoài" chuỗi là length(longest_line)
bằng number_of_lines
hình chữ nhật, vì vậy ngay cả khi một dòng không đệm với các không gian bên phải, vị trí đó không được xem là nằm ngoài giới hạn. Ví dụ sử dụng dungeon trước đó:
## ##
# #p
##
#
Dòng thứ hai không có không gian nơi p hiện tại, nhưng điều đó không thành vấn đề.
Cuối cùng, chương trình của bạn phải lặp đi lặp lại mãi mãi.
Các trường hợp thử nghiệm
Trường hợp thử nghiệm 1:
####
# p#
#
####
How do you want to move?
d
####
# #
# p
####
Trường hợp thử nghiệm 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 #
####
Tất nhiên, những điều này không hoàn thành. Mã của bạn sẽ lặp mãi mãi và xóa màn hình giữa mỗi đầu ra .
Đầu ra của bạn được phép nhắc nhở đầu vào là How do you want to move?\n<input>
hoặc How do you want to move?<input>
(tức là bạn không cần đầu vào trên một dòng trống) và bạn không cần một dòng trống giữa dòng cuối cùng của ngục tối và dấu nhắc. (tuy nhiên họ không thể ở trên cùng một dòng)
Sơ hở tiêu chuẩn là không được phép! Đây là mã golf, vì vậy mã ngắn nhất tính bằng byte sẽ thắng!
l
, r
, u
, hoặc d
) có thể là bất cứ điều gì, không chỉ là "Làm thế nào để bạn muốn di chuyển"? Nó không thực sự ảnh hưởng đến các câu trả lời ngoại trừ tính golf.