Caccia alle uova di Pasqua API!
C'è un'API su http://easter_egg_hunt.andrewfaraday.com che fornirà una speciale caccia alle uova di Pasqua, solo per te ...
Puoi visualizzare i documenti API all'indirizzo sopra indicato o provarlo da qui.
L'API:
Tutte le chiamate a questa API sono richieste GET, che restituiranno una stringa JSON.
Questi esempi sono in un giardino 5x5, solo a scopo illustrativo. L'API funzionerà effettivamente su un giardino 100x100 (dagli indici 1 a 100)
/new_game
Internamente, l'API produce un giardino e vi nasconde un uovo.
In questo esempio l'uovo è a 4, 4
+----------+
| |
| |
| |
| |
| E |
| |
| |
| |
| |
| |
+----------+
Chiamata
/new_game
ritorna
{game_id: 'abcde'}
/guess/:game_id/:x/:y
L'API guarda nel giardino e ti dice quanto sei vicino.
Se indovini 2 attraverso e 8 verso il basso, il giardino appare così
+----------+
| |
| |
| |
| |
| E |
| |
| |
| g |
| |
| |
+----------+
Chiamata
/guess/abcde/2/8
ritorna
{x: 'higher', y: 'lower'}
Questo significa: * La tua x è troppo bassa (la posizione dell'uovo è più alta) * La tua y è troppo alta (La posizione dell'uovo è più bassa)
Chiamata corretta:
/guess/abcde/4/4
ritorna
{x: 'right', y: 'right', turns: 10}
Le regole
Scrivi un programma per trovare l'uovo di Pasqua con un'API.
- Usa qualsiasi lingua
- Prova a scrivere un codice conciso, ma leggibile.
- Il tuo programma DEVE chiamare '/ new_game' ogni volta e utilizzare game_id restituito in tutte le chiamate 'indovina'. Non sbirciare al giardino!
- Cerca di terminare costantemente il gioco con il minor numero possibile di chiamate.
- Questo non è un codice golf.
Risposta competitiva?
Per avere la possibilità di vincere, ecco cosa dobbiamo sapere:
- Quale codice stai usando (nella tua risposta, o un link github se è più grande di quello che ti piace inserire una risposta).
- Esegui il tuo codice 10 volte, registra game_id e segna ogni volta.
-game_id- : -score-
per esempio
abbbbbbb : 10
abbbbbdd : 5
(Nota: i game_ids sono richiesti per verificare un risultato)
Il punteggio verrà calcolato in questo modo:
- I due risultati più alti e più bassi verranno ignorati.
- I restanti 6 punteggi verranno sommati.
- Questo è il tuo punteggio.
- Il punteggio più basso vince.
appendice
Tl, dr: L'app è un po 'scadente.
L'API è stata scritta nello spazio di circa 90 minuti ed è distribuita su un Raspberry Pi 2. Per favore sii gentile con il mio server API. Se DDOS questa povera cosa potresti rovinarla per tutti.
Inoltre, è implementato con NOIP per simulare un indirizzo IP statico, ma a volte questo cadrà per un po '. Questo è quello che ottengo usando per l'hosting web a budget zero.
Solo per ridacchiare, ecco una semplice analisi statistica dei giochi giocati ... http://easter_egg_hunt.andrewfaraday.com/stats