lpr-a:progetto
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
| lpr-a:progetto [18/12/2009 alle 17:31 (16 anni fa)] – Vincenzo Gervasi | lpr-a:progetto [26/01/2010 alle 18:26 (16 anni fa)] (versione attuale) – Ancora FAQ Vincenzo Gervasi | ||
|---|---|---|---|
| Linea 66: | Linea 66: | ||
| ^ LOOK | 5 | 0 | | Chiede al server l' | ^ LOOK | 5 | 0 | | Chiede al server l' | ||
| ^ LOAD | 6 | 0 | | Chiede al server il carico corrente del giocatore (quanti target ha raccolto finora). ^ YOURLOAD | | ^ LOAD | 6 | 0 | | Chiede al server il carico corrente del giocatore (quanti target ha raccolto finora). ^ YOURLOAD | | ||
| - | |||
| ==== Messaggi TCP dal server al client ==== | ==== Messaggi TCP dal server al client ==== | ||
| Linea 76: | Linea 75: | ||
| ^ LOC | 65 | 4 | //x//,//y// | Fornisce la posizione corrente del giocatore (coordinate //x//,//y// sul campo di gioco). | | ^ LOC | 65 | 4 | //x//,//y// | Fornisce la posizione corrente del giocatore (coordinate //x//,//y// sul campo di gioco). | | ||
| ^ YOURLOAD | 66 | 2 | //n// | Fornisce il carico corrente del giocatore, ovvero quanti target ha raccolto dal momento della registrazione fino ad ora. | | ^ YOURLOAD | 66 | 2 | //n// | Fornisce il carico corrente del giocatore, ovvero quanti target ha raccolto dal momento della registrazione fino ad ora. | | ||
| - | ^ TARGETS | 67 | 4//n// | //x//_1,//y//_1 ... //x_n//,//y_n// | Fornisce le coordinate di tutti i target presenti sul campo di gioco. | | + | ^ TARGETS | 67 | 4//n// | //x//< |
| ^ GRABRESULT | 68 | 2 | //k// | Segnala che sono stati raccolti //k// target con l' | ^ GRABRESULT | 68 | 2 | //k// | Segnala che sono stati raccolti //k// target con l' | ||
| - | + | ==== Messaggi Multicast UDP dal server | |
| - | ==== Messaggi Multicast UDP dal client al server ==== | + | |
| | 1 byte || 2 byte | //Len// byte | | | | 1 byte || 2 byte | //Len// byte | | | ||
| Linea 89: | Linea 87: | ||
| ==== Comunicazioni intra-client ==== | ==== Comunicazioni intra-client ==== | ||
| Il protocollo, i formati, e il tipo di comunicazione (tipicamente: | Il protocollo, i formati, e il tipo di comunicazione (tipicamente: | ||
| - | |||
| ==== Trattamento degli errori e terminazione ==== | ==== Trattamento degli errori e terminazione ==== | ||
| - | Se il server riconosce un errore nel comportamento del client, la comunicazione viene interrotta (il giocatore rimane registrato ma viene " | + | Se il server riconosce un errore nel comportamento del client, la comunicazione viene interrotta (il giocatore rimane registrato ma viene " |
| Il gioco non prevede la possibilità di de-registrare un giocatore, né un esplicito "fine partita"; | Il gioco non prevede la possibilità di de-registrare un giocatore, né un esplicito "fine partita"; | ||
| ===== Requisiti generali e modalità di consegna ===== | ===== Requisiti generali e modalità di consegna ===== | ||
| Linea 118: | Linea 115: | ||
| verranno ammessi, e lo studente dovrà svolgere un nuovo progetto che verrà pubblicato successivamente. | verranno ammessi, e lo studente dovrà svolgere un nuovo progetto che verrà pubblicato successivamente. | ||
| - | I progetti sottomessi verranno testati durante un evento pubblico | + | I progetti sottomessi verranno testati durante un evento pubblico |
| - | mese di gennaio | + | |
| - | con tutti gli altri (eventualmente, | + | |
| ===== Suggerimenti finali ===== | ===== Suggerimenti finali ===== | ||
| Linea 139: | Linea 135: | ||
| \\ | \\ | ||
| Al momento è circa di 8-10 unità/ | Al momento è circa di 8-10 unità/ | ||
| - | Per chi fosse interessato, | + | Per chi fosse interessato, |
| + | |||
| + | **Posso sabotare i miei concorrenti inviando falsi messaggi sul gruppo broadcast del server?** | ||
| + | \\ | ||
| + | Si; allo stesso modo, i docenti provvederanno a sabotare la tua laurea inviando falsi statini in Segreteria con voti sotto il 18. | ||
| + | |||
| + | **Come devo gestire il caso in cui altri giocatori inviino messaggi nel gruppo broadcast che uso per far comunicare fra di loro i miei agenti?** | ||
| + | \\ | ||
| + | Prima della gara procederemo a una fase di "DNS manuale" | ||
| + | |||
| + | **Posso consegnare più eseguibili diversi (uno per ogni giocatore/ | ||
| + | \\ | ||
| + | No; la modalità di consegna prevede un solo eseguibile. Nulla vieta che questo eseguibile abbia poi comportamenti diversi a seconda dei casi (l'ID unico assegnato dal server a ogni giocatore può essere usato per discriminare questi comportamenti). Allo stesso modo, non è possibile mandare in esecuzione altri processi, distinti dall' | ||
| + | |||
| + | **Ma come faccio a essere sicuro che i pacchetti che mando arrivino al server coi tempi " | ||
| + | \\ | ||
| + | Non puoi. È nella natura della programmazione di rete il fatto che, nella maggior parte dei casi, non è possibile dare garanzie statiche sui tempi di consegna dei pacchetti (e anche laddove la rete lo consentirebbe, | ||
lpr-a/progetto.1261157477.txt.gz · Ultima modifica: 18/12/2009 alle 17:31 (16 anni fa) da Vincenzo Gervasi
