Giriş
- Bir zindanın duvarlarını temsil eden bir ikili matris
- Oyuncunun zindandaki konumu .
- Yön oyuncu şu anda karşı karşıya olduğu (0 = Kuzey, 1 = Doğu, 2 = Güney, 3 = Batı)
Çıktı
karakterlik bir ASCII sanatı olarak, oynatıcının görüş alanında bulunan duvarların sözde-3D temsili .
Aşağıda, muhtemel harita ve pusula ile birlikte, bunun askıya alınmasına yardımcı olacak birkaç olası çıkış çerçevesi bulunmaktadır (ancak haritayı ve pusulayı çizmek zorluğun bir parçası değildir).
Şartname
Görüş alanı
Oyuncu vardır den etiketlenmiş görüş kendi alanında, duvarları için . Aşağıda, oyuncuya göre duvarların konumları (sarı renkte), tüm yönlerde bulunmaktadır.
Duvarları çizim
Duvarlar çıkarılabilecek gerekiyordu için önceden çizilmiş herhangi bir bölümü daha yakın duvarlarla yazılabilir olduğunu göz önüne alındığında, tam olarak bu sırada. Elbette, nihai sonuç aynı olduğu sürece farklı şekilde uygulayabilirsiniz.
Bütün çıkış 7 farklı karakterler ile çizilir: " "
, "'"
, "."
, "|"
, "-"
, "_"
ve":"
.
Bu zorluğun gövdesindeki duvarların şekillerinin detaylandırılması onu çok uzun hale getireceğinden, bunun yerine aşağıdaki TIO bağlantısında verilmiştir:
Belirli bir duvarın parçası olmayan karakterler "?"
bu şemalarda . Hiç çizilmemiş olan 'saydam' karakterler olarak değerlendirilmelidirler. Öte yandan, bir duvar içindeki tüm boşluklar 'katıdır' ve daha önce orada çizilmiş olabilecek diğer karakterlerin üzerine yazılmalıdır.
kurallar
Giriş hakkında
- Sen sürebilir , , ve herhangi makul bir biçimde.
- 0 dizinli veya 1 dizinli koordinatları kullanabilirsiniz.
- Yol tarifleri için seçtiğiniz 4 farklı değer kullanabilirsiniz.
- Matrisin en az olması garanti edilir .
- Kenarlarda her zaman etrafı saran duvarlar olacağını varsayabilirsiniz.
- Oyuncunun boş bir kareye yerleştirilmesi garanti edilir.
- Girişin geçerli olduğu garantilidir.
Çıktı hakkında
- Duvarlar aynen anlatıldığı gibi çizilmelidir.
- Bununla birlikte, çıktı formatı da esnektir: tekli dizge, dizge dizisi, karakter matrisi vb.
- Lider ve takip eden boşluk, tutarlı olduğu sürece kabul edilebilir.
Bu kod golfü .
Test durumları
Tüm test durumları aşağıdaki matrisi kullanıyor:
[ [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ],
[ 1, 0, 1, 1, 1, 0, 0, 0, 0, 1 ],
[ 1, 0, 1, 0, 1, 0, 0, 1, 0, 1 ],
[ 1, 0, 0, 0, 0, 0, 1, 1, 0, 1 ],
[ 1, 0, 0, 1, 0, 0, 0, 1, 0, 1 ],
[ 1, 0, 0, 1, 1, 0, 1, 1, 0, 1 ],
[ 1, 1, 1, 1, 0, 0, 0, 0, 0, 1 ],
[ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 ],
[ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ]
x=3, y=3, d=0
x=6, y=4, d=3
x=4, y=4, d=1
x=1, y=5, d=2
x=7, y=7, d=3
x=6, y=6, d=1
x=8, y=1, d=2
x=7, y=6, d=1
Beklenen çıktılar:
------------------------------ ------------------------------
x=3, y=3, d=0: x=6, y=4, d=3:
------------------------------ ------------------------------
__ __ '. .'
|'. .'| | |
| '.--------------.' | |----. |
| | | | | | '.--------. |
| | | | | | | | |
| | | | | | | | |
| | | | | | .'--------' |
| .'--------------'. | |----' |
__|.' '.|__ | |
.' '.
------------------------------ ------------------------------
x=4, y=4, d=1: x=1, y=5, d=2:
------------------------------ ------------------------------
.' __ ________________________ .'
| | |
-------. .----| | |
| '.--------.' | | | |
| | | | | | |
| | | | | | |
| .'--------'. | | | |
-------' '----| | |
| __|________________________|
'. '.
------------------------------ ------------------------------
x=7, y=7, d=3: x=6, y=6, d=1:
------------------------------ ------------------------------
'. '.
|'. |'.
| '. | '.
| | '. .- | |--.--------.--------.-
| | |: :| | | | | |
| | |: :| | | | | |
| | .' '- | |--'--------'--------'-
| .' | .'
|.' |.'
.' .'
------------------------------ ------------------------------
x=8, y=1, d=2: x=7, y=6, d=1:
------------------------------ ------------------------------
'. __ '.
|'. .'| |
| '. .' | |----.--------------.-------
| | '. .' | | | | |
| | |: :| | | | | |
| | |: :| | | | | |
| | .' '. | | | | |
| .' '. | |----'--------------'-------
|.' '.|__ |
.' .'
İlgili zorluk:
2013'teki bu zorluk yakından ilişkilidir. Ancak, farklı bir kazanma kriterine (kod zorluğu), çıktının daha gevşek bir belirtimine sahiptir ve etkileşimli G / Ç gerektirir.