Chasse aux œufs de Pâques API!
Il y a une API sur http://easter_egg_hunt.andrewfaraday.com qui fournira une chasse aux œufs de Pâques spéciale, juste pour vous ...
Vous pouvez voir les documents de l'API à l'adresse ci-dessus, ou l'essayer à partir d'ici.
L'API:
Tous les appels à cette API sont des requêtes GET, qui renverront une chaîne JSON.
Ces exemples sont dans un jardin 5x5, à titre d'illustration uniquement. L'API fonctionnera réellement sur un jardin 100x100 (des index 1 à 100)
/new_game
En interne, l'API produit un jardin et y cache un œuf.
Dans cet exemple, l'œuf est à 4, 4
+----------+
| |
| |
| |
| |
| E |
| |
| |
| |
| |
| |
+----------+
Appel
/new_game
Retour
{game_id: 'abcde'}
/guess/:game_id/:x/:y
L'API regarde dans le jardin et vous indique à quelle distance vous êtes.
Si vous devinez 2 en travers et 8 en bas, le jardin ressemble à ceci
+----------+
| |
| |
| |
| |
| E |
| |
| |
| g |
| |
| |
+----------+
Appel
/guess/abcde/2/8
Retour
{x: 'higher', y: 'lower'}
Cela signifie: * Votre x est trop bas (la position d'oeuf est plus élevée) * Votre y est trop haut (La position d'oeuf est plus basse)
Appel correct:
/guess/abcde/4/4
Retour
{x: 'right', y: 'right', turns: 10}
Les règles
Écrivez un programme pour trouver l'œuf de Pâques avec une API.
- Utilisez n'importe quelle langue.
- Essayez d'écrire du code concis mais lisible.
- Votre programme DOIT appeler à chaque fois '/ new_game' et utiliser le game_id retourné dans tous les appels 'guess'. Pas de furtivité dans le jardin!
- Essayez de terminer le jeu avec le plus petit nombre d'appels possible.
- Ce n'est pas du golf de code.
Réponse compétitive?
Pour avoir une chance de gagner, voici ce que nous devons savoir:
- Quel code utilisez-vous (dans votre réponse, ou un lien github s'il est plus grand que celui que vous souhaitez mettre dans une réponse).
- Exécutez votre code 10 fois et enregistrez le game_id et marquez chaque fois.
-game_id- : -score-
par exemple
abbbbbbb : 10
abbbbbdd : 5
(Remarque: les game_ids sont requis pour vérifier un résultat)
Le score sera calculé ainsi:
- Les deux résultats les plus élevés et les plus bas seront ignorés.
- Les 6 scores restants seront additionnés.
- Ceci est votre score.
- Le score le plus bas l'emporte.
Addenda
Tl, dr: L'application est un peu de mauvaise qualité.
L'API a été écrite en l'espace d'environ 90 minutes et est déployée sur un Raspberry Pi 2. Soyez prudent avec mon serveur API. Si vous DDOS cette pauvre chose, vous pourriez la gâter pour tout le monde.
En outre, il est implémenté avec NOIP pour simuler une adresse IP statique, mais parfois, cela abandonne pendant un petit moment. C'est ce que j'obtiens pour l'utilisation d'un hébergement Web à budget nul.
Juste pour rire, voici une simple analyse statistique des jeux joués ... http://easter_egg_hunt.andrewfaraday.com/stats