Birçok eski Game Boy oyunu sıklıkla kullanıcıdan dize girişi gerektiriyordu. Ancak klavye yoktu. Bu, kullanıcıya şöyle bir "klavye ekranı" sunmak suretiyle gerçekleştirildi:
'Karakteri işaretçisi' kullanıcı her istenilen karaktere gidin olacağını A harfinin başlayacağını D-Pad 'in dört düğme ( UP
, DOWN
, LEFT
ve RIGHT
), sonra basına BUTTON A
nihai dizeye eklenecek.
Lütfen aklınızda bulundurun:
- Izgara etrafına sarılır , böylece
UP
A harfi üzerinebastığınızdasizi T'ye götürürdünüz. - Bir harf ekledikten sonra 'karakter işaretçisi' kalmaya devam ediyor
Meydan okuma
Yukarıdaki klavyenin büyük / küçük harf değiştirme seçenekleri vardır ve düzensiz bir şekildir. Bu nedenle, basit olması için, bu zorlu görevde aşağıdaki klavyeyi kullanacağız (sağ alt ASCII karakter 32, boşluk):
A B C D E F G
H I J K L M N
O P Q R S T U
V W X Y Z .
Bunun gibi klavyelere yazmak oldukça yavaştır - bu yüzden bunu kolaylaştırmak için göreviniz, kullanıcıya belirli bir dize yazmanın en hızlı yolunu söyleyen bir program yazmaktır . Birden çok hızlı yol varsa, yalnızca birini göstermeniz gerekir.
Çıkış anahtarı şöyle olmalıdır:
>
içinRIGHT
<
içinLEFT
^
içinUP
v
içinDOWN
.
içinBUTTON A
(geçerli harfi dizeye ekle )
Örneğin, dize verildiğinde DENNIS
, çözüm şöyle görünecekti:
>>>.>.>>v..>>.>>>v.
Kurallar / Detaylar
- Unutma, ızgara etrafını sardı!
- İlk dizgeyi aldığı ve bir çözüm dizgisi ürettiği sürece, tam bir program veya işlev gönderebilirsiniz. Boşluk / izleyen yeni satırlar çıktı doğru olduğu sürece ilgisizdir.
- Girişin yalnızca belirtilen klavyede yazılabilir karakterlerden oluşacağını varsayabilirsiniz, ancak boş olabilir.
- Bu kod golf , yani en kısa kod kazanır. Standart kod-golf boşlukları uygulanır.
Test Kılıfları
Genellikle aynı uzunlukta birden fazla çözüm vardır. Her test durumu için optimum uzunluğu ve bir örneği dahil ettim. Cevabınızdaki uzunluğu, yalnızca çözümü yazdırmanız gerekmez.
FLP.TKC -> 25 steps: <<.<v.<<<v.<<<v.^.<<^.<^.
MOYLEX -> 23 steps: <<v.>>v.>>>v.>^^.^.<<^.
FEERSUM -> 18 steps: <<.<..<vv.>.>>.<^.
MEGO -> 14 steps: <<v.<^.>>.>vv.
A CAT -> 17 steps: .<^.>>>v.<<.<<vv.
BOB -> 10 steps: >.<vv.>^^.
(space) -> 3 steps: <^.
(empty) -> 0 steps: (empty)
Testcase jeneratörümü repl.it adresinde görebilirsiniz - lütfen herhangi bir hata varsa bana bildirin .
Gönderdiğiniz için herkese teşekkür ederim! Kullanıcı ngn şu anda 61 bayt ile kazananı kazanıyor, ancak eğer daha kısa bir çözüm bulabilirse, küçük yeşil onay işareti hareket ettirilebilir;)