API охота на пасхальные яйца!
На http://easter_egg_hunt.andrewfaraday.com есть API, который обеспечит специальную охоту за пасхальными яйцами, только для вас ...
Вы можете посмотреть документацию по API по указанному выше адресу или попробовать его здесь.
API:
Все вызовы этого API являются запросами GET, которые возвращают строку JSON.
Эти примеры в саду 5х5, только для иллюстрации. API фактически будет работать в саду 100x100 (от индексов 1 до 100)
/new_game
Внутренне API создает сад и прячет в нем яйцо.
В этом примере яйцо в 4, 4
+----------+
| |
| |
| |
| |
| E |
| |
| |
| |
| |
| |
+----------+
Вызов
/new_game
Возвращает
{game_id: 'abcde'}
/guess/:game_id/:x/:y
API смотрит в сад и говорит вам, насколько вы близки.
Если угадать 2 поперек и 8 вниз, сад выглядит так
+----------+
| |
| |
| |
| |
| E |
| |
| |
| g |
| |
| |
+----------+
Вызов
/guess/abcde/2/8
Возвращает
{x: 'higher', y: 'lower'}
Это означает: * Ваш x слишком низок (позиция яйца выше) * Ваш y слишком высок (позиция яйца ниже)
Правильный звонок:
/guess/abcde/4/4
Возвращает
{x: 'right', y: 'right', turns: 10}
Правила
Напишите программу для поиска пасхального яйца с API.
- Используйте любой язык.
- Попробуйте написать краткий, но читаемый код.
- Ваша программа ДОЛЖНА вызывать '/ new_game' каждый раз и использовать game_id, возвращаемый во всех вызовах 'предположить'. Не заглядывать в сад!
- Постарайтесь последовательно закончить игру с наименьшим количеством возможных вызовов.
- Это не код гольф.
Конкурсный ответ?
Чтобы иметь шанс на победу, вот что нам нужно знать:
- Какой код вы используете (в своем ответе или ссылку на github, если она больше, чем вы хотели бы добавить в ответ).
- Запустите ваш код 10 раз, запишите game_id и набирайте очки каждый раз.
-game_id- : -score-
например
abbbbbbb : 10
abbbbbdd : 5
(Примечание: game_ids необходимы для проверки результата)
Оценка будет рассчитана следующим образом:
- Самые высокие и самые низкие два результата будут игнорироваться.
- Оставшиеся 6 баллов будут сложены вместе.
- Это ваш счет.
- Самый низкий балл побеждает.
добавление
Tl, доктор: приложение немного дрянной.
API был написан за 90 минут и развернут на Raspberry Pi 2. Пожалуйста, будьте осторожны с моим сервером API. Если вы DDOS эту бедную вещь, вы могли бы испортить ее для всех.
Кроме того, он реализован с использованием протокола NOIP для имитации статического IP-адреса, но иногда это может выпасть на некоторое время. Вот что я получаю за использование веб-хостинга с нулевым бюджетом.
Просто для хихиканья, вот простой статистический анализ сыгранных игр ... http://easter_egg_hunt.andrewfaraday.com/stats