¡Búsqueda de huevos de Pascua API!
Hay una API en http://easter_egg_hunt.andrewfaraday.com que proporcionará una búsqueda especial de huevos de Pascua, solo para ti ...
Puede ver los documentos de la API en la dirección anterior, o probarlo desde aquí.
La API:
Todas las llamadas a esta API son solicitudes GET, que devolverán una cadena JSON.
Estos ejemplos se encuentran en un jardín de 5x5, solo a modo de ilustración. La API realmente operará en un jardín de 100x100 (de los índices 1 a 100)
/new_game
Internamente, la API produce un jardín y esconde un huevo en él.
En este ejemplo, el huevo está a las 4, 4
+----------+
| |
| |
| |
| |
| E |
| |
| |
| |
| |
| |
+----------+
Llamada
/new_game
Devoluciones
{game_id: 'abcde'}
/guess/:game_id/:x/:y
La API mira en el jardín y te dice qué tan cerca estás.
Si adivina 2 de ancho y 8 de abajo, el jardín se ve así
+----------+
| |
| |
| |
| |
| E |
| |
| |
| g |
| |
| |
+----------+
Llamada
/guess/abcde/2/8
Devoluciones
{x: 'higher', y: 'lower'}
Esto significa: * Su x es demasiado baja (la posición del huevo es más alta) * Su y es demasiado alta (La posición del huevo es más baja)
Llamada correcta:
/guess/abcde/4/4
Devoluciones
{x: 'right', y: 'right', turns: 10}
Las normas
Escribe un programa para encontrar el huevo de Pascua con una API.
- Usa cualquier idioma.
- Intenta escribir código conciso pero legible.
- Su programa DEBE llamar a '/ new_game' cada vez, y usar el game_id devuelto en todas las llamadas 'adivinar'. No echar un vistazo al jardín!
- Intenta terminar el juego constantemente con el menor número de llamadas posible.
- Este no es el código de golf.
Respuesta competitiva?
Para tener la oportunidad de ganar, esto es lo que necesitamos saber:
- ¿Qué código estás usando (en tu respuesta, o un enlace de github si es más grande de lo que te gustaría poner en una respuesta)?
- Ejecute su código 10 veces y registre el game_id y anote cada vez.
-game_id- : -score-
p.ej
abbbbbbb : 10
abbbbbdd : 5
(Nota: los game_ids son necesarios para verificar un resultado)
La puntuación se calculará así:
- Los dos resultados más altos y más bajos serán ignorados.
- Las 6 puntuaciones restantes se sumarán.
- Este es tu puntaje.
- La puntuación más baja gana.
Apéndice
Tl, dr: La aplicación es un poco mala.
La API se escribió en el espacio de unos 90 minutos y se implementa en una Raspberry Pi 2. Por favor, sea amable con mi servidor API. Si DDOS esta pobre cosa, podría estropearlo para todos.
Además, se implementa con NOIP para simular una dirección IP estática, pero a veces esto desaparecerá por un tiempo. Eso es lo que obtengo por usar para alojamiento web de presupuesto cero.
Solo por risas, aquí hay un análisis estadístico simple de los juegos jugados ... http://easter_egg_hunt.andrewfaraday.com/stats