This is a league based challenge.

W tej grze dostępnych jest kilka lig. Kiedy pokonasz Bossa otrzymasz dostęp do kolejnej ligi i następnych wyzwań. Powodzenia.

Grupa Mikołajów będzie zrzucać prezenty dla okolicznych mieszkańców. Dla gargulców jest to świetna okazja żeby przeszkodzić w rozdawnictwie i pokazać, że to ich teren. Niestety na miejscu okazało się, że Twoja drużyna gargulców nie jest tu jedyna.

Kieruj swoimi gargulacami aby zniszczyć więcej cennych prezentów i zdobyć więcej punktów niż drużyna przeciwnika.


  The Goal

Celem gry jest zebranie większej liczby punktów niż drużyna przeciwnika w wyznaczonym czasie. Punkty zdobywa się za niszczenie spadających prezentów.

  Rules

Rozgrywka trwa 200 tur lub do momentu aż 30 prezentów spadnie na ziemię.

Mapa

Potyczka rozgrywa się na prostokatnym obszarze gdzie współrzędne x=0 y=0 to lewy dolny narożnik, a x=1920 y=750 to prawy górny narożnik.

Gargulce

Każdy z graczy kontroluje jednego gargulca.
Gargulce mogą się przemieszczać w dowolnym kierunku (instrukcja FLY), ale w ciągu jednej tury maksymalny dystans który mogą pokonać wynosi 150.

Prezenty

Prezenty są zrzucane przez Mikołajów z góry, z obszaru niedostępnego dla gargulców (są na tyle masywne, że nie potrafią wznosić się powyżej y=750). Prezenty które dotrą na ziemię są zabierane przez ludzi i wpływają na przyspieszenie końca rozgrywki.
Prezenty spadają w dół z jednostajną prędkością równą 60.
Gargulec niszczy prezent jeśli pod koniec tury on i prezent znajdą się w odległości nie większej niż 30. Zniszcenie prezentu daje drużynie gargulca 5 punktów.
Jeśli kilka gargulców z jednej drużyny zniszczy ten sam prezent to punkty liczone są tylko raz. Jeśli gargulce z obu drużyn zniszczą ten sam prezent, punkty dostają obie drużyny.

🐞 Wskazówki dotyczące debugowania

  • Najedź kursorem na obiekt, aby zobaczyć więcej informacji na jego temat.
  • Dodaj tekst na końcu instrukcji, aby wyświetlić go nad swoim gargulcem.
  • Kliknij ikonę koła zębatego, aby wyświetlić dodatkowe opcje wizualne odtwarzacza.
  • W szczególności użyj tryby debug (Debug Mode), aby widzieć więcej informacji o stanie gry.
  • Użyj klawiatury do kontrolowania odtwarzacza: spacja do odtwarzania/pauzy, strzałki do przesuwania się klatka po klatce.

  Game Input

Początkowy input
Linia 1: pojedyncza liczba całkowita gargoylesPerPlayer zawierająca liczbę gargulców w drużynie. W tej lidze zawsze równy 1.

Input w kolejnych turach
Linia 1: pojedyncza liczba całkowita missedPresentsToEnd informująca ile prezentów musi jeszcze spaść na ziemię aby gra się zakończyła.
Linia 2: pojedyncza liczba całkowita myScore zawierająca Twój obecny wynik.
Następnych gargoylesPerPlayer linii: 3 liczby oddzielone spacją z informacją o kolejnych gargulcach w Twojej drużynie:
  • x: pozycja na współrzędnej x.
  • y: pozycja na współrzędnej y.
  • cooldown: w tej lidze zawsze 1.
Kolejna linia: pojedyncza liczba całkowita foeScore zawierająca obecny wynik Twojego oponenta.
Kolejnych gargoylesPerPlayer linii: 3 liczby oddzielone spacją z informacją o kolejnych gargulcach z przeciwnej drużyny:
  • x: pozycja na współrzędnej x.
  • y: pozycja na współrzędnej y.
  • cooldown: w tej lidze zawsze 1.
Kolejna linia: pojedyncza liczba całkowita entityCount zawierająca liczbę spadających obiektów.
Kolejnych entityCount linii: 5 liczb oddzielonych spacją z informacją o obiekcie:
  • id: unikalny identyfikator spadającego obiektu.
  • value: w tej lidze zawsze 1.
  • x: pozycja na współrzędnej x.
  • y: pozycja na współrzędnej y.
  • vy: szybkość spadania obiektu w pionie.
Output
gargoylesPerPlayer linii, każda z instrukcją dla każdego z posiadanych gargulców (w takiej samej kolejności jak są podani na wejściu).

Opcjonalnie po każdej instrukcji można dołączyć wiadomość (message) do wyświetlenia nad odpowiednim gargulcem. W pełni wyświetlane będą komunikaty o długości nie większej niż 15, dłuższe wiadomości będą przycinane.
  • FLY x y [message] aby gargulec poleciał w kierunku zadanego punktu x y.
Constraints
Czas odpowiedzi dla pierwszej tury: ≤ 1s
Czas odpowiedzi dla kolejnych tur: ≤ 50ms
Limit tur: 200