API Polowanie na jajka wielkanocne!
Interfejs API znajduje się na stronie http://easter_egg_hunt.andrewfaraday.com, który zapewni specjalne polowanie na jajka wielkanocne właśnie dla Ciebie ...
Dokumenty interfejsu API można wyświetlić pod powyższym adresem lub wypróbować tutaj.
API:
Wszystkie wywołania tego interfejsu API są żądaniami GET, które zwracają ciąg JSON.
Te przykłady znajdują się w ogrodzie 5x5, wyłącznie w celach ilustracyjnych. Interfejs API będzie działał w ogrodzie 100 x 100 (od indeksów 1 do 100)
/new_game
Wewnętrznie API tworzy ogród i ukrywa w nim jajko.
W tym przykładzie jajko ma 4, 4
+----------+
| |
| |
| |
| |
| E |
| |
| |
| |
| |
| |
+----------+
Połączenie
/new_game
Zwroty
{game_id: 'abcde'}
/guess/:game_id/:x/:y
Interfejs API wygląda w ogrodzie i informuje, jak blisko jesteś.
Jeśli zgadniesz 2 w poprzek i 8 w dół, ogród wygląda tak
+----------+
| |
| |
| |
| |
| E |
| |
| |
| g |
| |
| |
+----------+
Połączenie
/guess/abcde/2/8
Zwroty
{x: 'higher', y: 'lower'}
Oznacza to: * Twoje x jest za niskie (pozycja jajka jest wyższa) * Twoje y jest za wysokie (Pozycja jajka jest niższa)
Prawidłowe połączenie:
/guess/abcde/4/4
Zwroty
{x: 'right', y: 'right', turns: 10}
Zasady
Napisz program, aby znaleźć pisankę z interfejsem API.
- Użyj dowolnego języka.
- Spróbuj napisać zwięzły, ale czytelny kod.
- Twój program MUSI wywoływać „/ new_game” za każdym razem i używać game_id zwróconego we wszystkich wywołaniach typu „zgadnij”. Nie zaglądaj do ogrodu!
- Staraj się konsekwentnie kończyć grę możliwie najmniejszą liczbą połączeń.
- To nie jest kod golfowy.
Odpowiedź konkurencyjna?
Aby mieć szansę na wygraną, oto, co musimy wiedzieć:
- Jakiego kodu używasz (w swojej odpowiedzi lub linku github, jeśli jest większy niż chcesz w odpowiedzi).
- Uruchom kod 10 razy i za każdym razem zapisz identyfikator gry i zdobywaj punkty.
-game_id- : -score-
na przykład
abbbbbbb : 10
abbbbbdd : 5
(Uwaga: Game_ids są wymagane do weryfikacji wyniku)
Wynik zostanie obliczony w następujący sposób:
- Najwyższe i najniższe dwa wyniki zostaną zignorowane.
- Pozostałe 6 punktów zostanie zsumowanych.
- To jest twój wynik.
- Najniższy wynik wygrywa.
Uzupełnienie
Tl, dr: Aplikacja jest trochę tandetna.
Interfejs API został napisany w ciągu około 90 minut i jest wdrażany na Raspberry Pi 2. Prosimy o delikatność na moim serwerze API. Jeśli DDOS to biedne stworzenie, możesz zepsuć je wszystkim.
Ponadto jest zaimplementowany z NOIP w celu symulacji statycznego adresu IP, ale czasami to zniknie na chwilę. To właśnie otrzymuję za korzystanie z hostingu zero budżetu.
Tylko na chichoty, oto prosta analiza statystyczna gier, w które grałeś ... http://easter_egg_hunt.andrewfaraday.com/stats