Jak dowiedzieliśmy się z IBM PC AT, YouTube (patrz wideo) , Wikipedia (patrz artykuł) i Sesame Street:
Litera H
jest najbardziej bezlitosną literą alfabetu !
(Nawet jeśli faktycznie składa się z dwóch elementów w Code Page 437. W rzeczywistości jest to WIĘCEJ bezlitosne).
Jak Obcy w ... ehm ... kosmici , Bestie bezlitośnie ścigają wszystkich, którzy odważą się zbliżyć do swoich jaj. Nie ma z nimi uzasadnienia. Musisz je zgnieść, jeśli nie zginiesz.
W tym scenariuszu założymy, że sprowadzasz się do ostatniego życia i spotkałeś zwykłe Bestie w terenie bez jajek (jak na zrzucie ekranu Wikipedii). Nie masz klawiatury numerycznej i możesz poruszać się tylko bezpośrednio w górę / w dół / w lewo / w prawo ... ale bestie najwyraźniej ją mają i mogą poruszać się po skosie.
Wybór ruchu Bestii spośród jej opcji będzie tym, który minimalizuje odległość od gracza. Jeśli odległości są równe, następuje zerwanie remisu, faworyzując lewy + górny nad prawym + dolnym, ale oto macierz jednoznacznej jednoznaczności na ten temat ... najniższa liczba do rozstrzygnięcia:
1 3 4
2 H 5
6 8 7
Bestia nigdy nie śpi, ale na szczęście jest nieco wolniejsza od gracza. Poruszają się co drugą turę (dając graczowi przewagę, zaczynając naprzemiennie w drugiej turze). Muszą się poruszyć, jeśli ruch jest możliwy, niezależnie od tego, czy prowadzi to dalej od gracza.
Zmiażdżysz bestię, jeśli poruszysz pociągiem ruchomych ścian, gdzie stał w zamkniętej szczelinie. Te zwykłe bestie są warte 2 punkty za głowę.
Wejście
Para liczb całkowitych wskazujących rozmiar mapy w kolumnach, a następnie w wierszach.
Liczba wierszy wierszy wejściowych, każdy rozmiar kolumny ... zawierający albo ścianę pełną (
#
), ścianę ruchomą (~
), bestię (H
), odtwarzacz (O
) lub po prostu spację.Dane wejściowe, które będą albo U, D, L, R, wskazują na próbę ruchu przez gracza ... lub W, aby tylko poczekać. Pamiętaj, że próba pchnięcia ruchomej ściany, która jest zablokowana, jest zgodna z prawem, po prostu nie spowoduje żadnego działania.
Wynik
aHHHH!
jeśli bestie zabiły gracza ... lub nic, jeśli gracz wygrał bez bestiiWynik
(Uwaga: do celów debugowania i / lub rozrywki prawdopodobnie będziesz chciał móc wyświetlać stan na każdym kroku; ale to zbyt długo, aby opublikować tutaj.)
Wyjaśnienia
Gwarantujemy, że mapy będą ograniczone solidnymi ścianami.
Kolejność, kto porusza się po kolei, ma znaczenie dla wyniku. Zatem: Gracz zawsze idzie pierwszy, następnie bestie otrzymują porządek na podstawie ich początkowej pozycji na mapie, jeśli przesuwasz się po ekranie od góry do dołu od lewej do prawej. (Bestia z rzędu 1 porusza się przed bestią z rzędu 2, a dwie bestie w tym samym rzędzie to ta o najniższej liczbie kolumn, która poruszałaby się przed drugą)
Ruchome ukośne bestie mogą poruszać się w dowolne otwarte sąsiednie pola po przekątnej, niezależnie od tego, czy wymagają ściśnięcia między ścianami.
Gracz może pchnąć dowolną liczbę ruchomych ścian w linii, pod warunkiem, że na drugim końcu jest miejsce lub bestia. Ale próba wepchnięcia ciągu ścian w Bestię, która nie jest przypięta między ścianami, traktuje Bestię jak ścianę i nie pozwala na ruch.
Decyzja o ruchu Bestii podczas tury zależy od lokalizacji gracza na początku tury. Pożądana optymalizacja „odległości do gracza” polega na obliczeniu „w linii prostej”. Każde przybliżenie, które dałoby taki sam wynik, mierzony od środka jego kwadratu do środka kwadratu gracza, jest w porządku.
Jeśli Bestia nie może wykonać swojego pierwszego preferowanego ruchu w turze, ponieważ Bestia o wyższym priorytecie zajęła swoje miejsce, podejmie następny najlepszy wybór, zamiast pozostać na miejscu (jeśli ruch jest nadal możliwy).
Przykładowe przypadki
Simple Crush
Wejście
5 3
#####
#O~H#
#####
R
Wynik
2
Matryca preferencji -> Śmierć
Wejście
5 5
#####
#O #
# ~ #
# H#
#####
WWDW
Wynik
aHHHH!
0
Matryca preferencji -> Wygrana
Wejście
5 5
#####
#O #
# ~ #
# H#
#####
WRD
Wynik
2
Czekam na żniwiarza
Wejście
5 5
#####
#O #
# ~ #
# H#
#####
WWW
Wynik
aHHHH!
0
Udana porażka w scenariuszu Wikipedii
Wejście
40 23
########################################
#~ ~ ~~ ~ ~ ~~ ~ ~~ ~ ~ ~~ #
#~~ ~ ~~ ~ ~ ~~ ~ #
#~# ~~ ~~~~ ~ ~~~~ ~ ~~~ ~#
# ~ ~ ~ ~~ #~~ ~ #
#~~ ~~~ ~ ~ ~ ~ ~~ ~ ~ ~ ~ #
# ~~ ~ ~ ~ ~~~ H ~ #~ #
# O~ ~ # ~~~ ~ ~ ~~ ~ ~ ~~ #
# ~ ~H~~ ~~ ~ # ~~ ~ #
# ~~ ~ ~~~ ~~ ~~~~ ~ ~#
#~ ~ ~~~ ~ ~ ~ ~ ~~ ~~#
# ~ # ~ ~~ ~~~ ~ ~ ~ # ~#
#~ ~ ~~ ~ ~ H ~~ ~~ ~ ~ ~~~ #
# ~ ~ ~ ~ ~ ~~~ ~ #
# ~~ ~ ~ ~~ ~ ~ ~ ~ ~ #
# ~~ ~ ~ ~ ~ ~~ #
#~ ~ # ~~~~ ~ ~~~H # ~ #
# ~ ~ ~ ~ ~ ~~ ~ #
# ~ ~ #~ ~ ~~ ~ ~ ~#
# ~~ ~ ~ ~~ ~ ~ #
# ~~~ ~ ~~ ~ ~ ~ ~ #
# ~ ~ ~ ~~ ~ ~ ~ #
########################################
RRRUWWWRRRURWWWWRDRRWWRDWWWWD
Wynik
8
Mapa dostarczona przeze mnie, ruchy i wyjście @bobbel, potwierdzone przeze mnie i @Allbeert.
Zwycięskie kryteria
Myślę, że jest to możliwe do gry w golfa, więc stosuję się do zasad golfa, chyba że ludzie narzekają.
Dodatkowy kredyt
Grywalna implementacja Unicode z podwójnie szerokimi znakami przypominającymi obraz!