Właśnie grałem w grę planszową Przepraszamy! z niektórymi ludźmi i zdałem sobie sprawę, że mogę na tym oprzeć kilka interesujących wyzwań. Ten jest dość prosty.
Twoim zadaniem jest po prostu wydać ascii-artową wersję przepraszającej planszy, umieszczając elementy tam, gdzie ci powiem.
Okular
Po pierwsze, oto obraz faktycznego Przepraszamy! tablica odniesienia:
Pusta tablica wygląda jak:
# > - - o # # # # > - - - o # #
# # S v
o # H # # # # # |
| # |
| # S o
| # #
^ H #
# #
# #
# H v
# # |
o S # |
| # |
| # # # # # H # o
^ S # #
# # o - - - < # # # # o - - < #
Zwróć uwagę na kilka funkcji.
- To
#
puste kwadraty. - Te
S
iH
są odpowiednio Start i Home. - Są
>v<^
to początki slajdów, w zależności od kierunku, w którym są skierowane. |
„S i-
” s są środkowe zjeżdżalni, w zależności czy są poziome lub pionowe.- To
o
koniec slajdów. - Każda kolumna jest oddzielona kolumną spacji, aby wyglądała bardziej kwadratowo.
Oto, co musisz zrobić:
- Twój wkład to lista współrzędnych różnych elementów, które zostały umieszczone na planszy.
- Współrzędne zaczynają się
0
od kwadratu poza początkiem dolnego koloru (żółty na zdjęciu) i zwiększają się o jeden na kwadrat zgodnie z ruchem wskazówek zegara. - Po tych 60 kwadratach strefy bezpieczne mają następne i ostatnie 20 współrzędnych, zaczynając od tej na dole (która dostaje 60-64), a następnie idąc zgodnie z ruchem wskazówek zegara.
- Będziesz musiał umieścić gwiazdę (
*
-y) na właściwej współrzędnej, zastępując postać pod spodem dla wszystkich graczy. - Dodatkowo, jeśli któryś z graczy znajduje się na polu startowym suwaka, przesuń go na koniec suwaka przed umieszczeniem go.
- Możesz założyć, że nie będzie kolizji przed lub po rozwiązaniu suwaków.
- Nie musisz się martwić o Dom lub Start.
- Jeśli chcesz, możesz być indeksowany jako 1, ale przypadki testowe są indeksowane jako 0.
Przypadki testowe
[0, 20] ->
# > - - o # # # # > - - - o # #
# # S v
* # H # # # # # |
| # |
| # S o
| # #
^ H #
# #
# #
# H v
# # |
o S # |
| # |
| # # # # # H # o
^ S # #
# # o - - - < # # # # * - - < #
[2, 7, 66] ->
# > - - o # # # # > - - - o # #
# # S v
o # H # # # # # |
| # |
| # S o
| # #
^ H #
# #
# #
# H v
# # |
o S # |
| # |
| # * # # # H # o
^ S # #
# # o - * - < # # * # o - - < #
0, 5
a drugi może być2, 60, 37
).Odpowiedzi:
Python 2, 476 bajtów
Krótkie rozwiązanie 3-liniowe ( wypróbuj online )
One-liner w 534 ( Wypróbuj online ):
Zakładam wskaźniki bezpiecznej strefy w ten sposób:
Objaśnienie (linie są nieco oddzielone dla lepszego zrozumienia):
źródło