ESERCITAZIONE 4: Applicazione client-server

Scopo dell'esercitazione

Scopo dell'esercitazione è quello di realizzare una battaglia navale on-line, in modo che più utenti possano partecipare contemporaneamente al gioco. L'esercitazione consiste, quindi, nello sviluppare un'applicazione client e un'applicazione server, con una serie di funzionalità minime di base. In particolare: Una flotta è costituita da:
  1. Una portaerei (5 quadretti di dimensione)
  2. Una fregata (4 quadretti di dimensione)
  3. 2 sommergibili (3 quadretti di dimensione ciascuno)
  4. 1 caccia torpediniere (2 quadretti di dimensione)
  5. 1 pilotina (1 quadretto di dimensione)
Ciascun pezzo deve essere disposto per tutta la sua lunghezza orizzontalmente o verticalmente. Non esiste alcun vincolo circa la distanza minima tra due navi.
Il quadrante è quadrato e composto da 100 quadretti: le colonne sono indicate con le lettere maiuscole dell'alfabeto inglese, le righe con i numeri arabi. La prima colonna è indicata dalla lettera 'A', la prima riga dal numero '1'.

Vincoli

Non esistono vincoli circa il numero di porta su cui il server è in ascolto, né sul protocollo di comunicazione utilizzato dal client e dal server; è bene che si possa facilmente configurare il server a cui il client deve connettersi per iniziare a giocare (per esempio attraverso un file di configurazione o un'opzione da riga di comando). Infine dovreste cercare di gestire e prevedere il maggior numero di errori possibile (per esempio un giocatore non può iniziare il gioco con un giocatore già impegnato in una partita; un giocatore non può inviare un colpo a un utente che non sia il suo avversario, e nemmeno a se stesso...).

Nota

Qualsiasi estensione del gioco, che comprenda i requisiti minimi, è ben accetta.

Materiale

A parte gli esempi visti a lezione e già disponibili on-line, riferitevi alla documentazione ufficiale di SUN

Modalità di consegna

L'esercitazione dovrà essere consegnata per mail al seguente indirizzo: comes@disi.unige.it entro Lunedì 27 Maggio compreso. Prego tutti di rispettare le seguenti indicazioni:
  1. Subject:"Gruppo "
  2. Body: Elencate i componenti del gruppo, indicando il nome e la versione del browser utilizzato per svolgere l'esercitazione
  3. In allegato ricordatevi di inserire un archivio (preferibilmente compresso -- prediligete gzip, winzip, zip o tar) che conterrà l'esercitazione da voi svolta (leggi tutti i sorgenti). Per favore cercate di costruire l'archivio in modo tale che tutti i file dell'esercitazione si trovino sotto una directory nominata "Gruppo-<numero gruppo>"
  4. Nell'archivio non dovranno essere presenti i file .class, ma solo i files .java del client e del server. Quindi, per favore, indicate quale versione del compilatore java avete utilizzato per compilare i programmi. È gradito (ma non necessario né influisce sulla valutazione) un makefile per la compilazione.
  5. Solo la prima esercitazione che spedirete sarà considerata ai fini della valutazione del laboratorio; quindi evitate di inviare pi versioni della stessa esercitazione perché verranno sistematicamente ignorate
Ricordo a tutti che le esercitazioni che non rispettano i requisiti minimi richiesti non saranno corrette (== voto = 0). In particolare chi svolge l'esercitazione non utilizzando Java ma altre tecnologie (C++, VB, etc...) ricever lo stesso trattamento.

Per qualsiasi dubbio o chiarimento potete scrivermi.

Ultima modifica: 17 Maggio 2002