La coding-competition comincerá il 20 settembre con la pubblicazione del codice del framework che contiene l'interfaccia che ogni algoritmo di Battleship iscritto alla competizione dovrá implementare.
La competizione sará in 2 tornate:
1^ tornata, consegna del codice entro il 10 Ottobre
2^ tornata, consegna del codice entro il 31 Ottobre
Regole del gioco Battleship:
- Si gioca su una griglia 10x10.
- Ogni giocatore dispone sulla griglia 5 navi di lunghezza: 2, 3, 3, 4 e 5.
- La navi possono essere adiacenti ma non sovrapporsi.
- Ogni giocatore a turno spara un singolo colpo sulla griglia del suo avversario.
- L'avversario notifica se il colpo é andato a vuoto, se ha colpito una nave o se ha colpito e affondato una nave
In questo ultimo caso dirá anche quale nave ha affondato e dove era posizionata.
- Il gioco si conclude quando tutte le navi di un giocatore vengono affondate, il giocatore avversario é dichiarato vincitore.
Regole della competizione:
- Lo spirito della competizione é quello di produrre il miglior algoritmo (di attacco e di difesa) per il gioco Battleship.
- Ogni azione che va contro lo spirito della competizione verrá valutata e potrá portare alla eliminazione.
- Imparare e implementare idee altrui é ok, copiare codice altrui va contro lo spirito della competizione.
- Giocare slealmente e interferire sul gioco del avversario va contro lo spirito della competizione.
- Un tempo compessivo di 4 secondi é a disposizione ad ogni giocatore per ogni singola partita.
- L'uso di multi-threading non é concesso.
- Lo sfondamento dei 4 secondi determinerá la sconfitta nella partita corrente.
- Qualsiasi eccezzione sollevata e non gestita determinerá la sconfitta nella partita corrente.
- Il codice insieme alla descrizione delle idee e strategie implementate dovrá essere inviato entro e non oltre le date indicate contattandomi attraverso i contacts di questo blog e inviandomi poi per e-mail il codice o il link da dove scaricarlo.
- La dimensione massima per il codice é di 1MB.
- Il solo requisito tecnico é l'uso del framework .Net 2.0 / 3.5
- L'algoritmo (di attacco e di difesa) proposto dovrá implementare l'interfaccia IBattleshipOpponent definita nel codice fornito.
Punteggio:
- Ogni partecipante si scontrerá con ogni altro partecipante al meglio di 501 partite su 1000
- La prima metá dei partecipanti con i risultati migliori parteciperá alla prima o alla seconda tornata parteciperá a un torneo a eliminazione diretta per determinare il vincitore
- I risultati insieme all codice e le idee e strategie implementate saranno postati su questo blog.
Edit 19-Set: riguardo il punto 11, in pratica sono accettate soluzioni in VS2008 (C# 2.0/3.0). Soluzioni in VS2010 (C# 4.0, .NET 4.0) saranno accette solo se tutti i partecipanti hanno VS2010.
Tags :
Creatività |