Fondamenti di Informatica 1
Corso di Laurea in Ingegneria Informatica
Canale G-O, A.A. 2002/03


Esercitazione 9

Matrici


Si vuole realizzare una variante del gioco Battaglia Navale. Battaglia Navale si gioca su di una matrice di 10x10 celle. Nella nostra variante l'avversario è il computer, che non può mai sparare. Esso dispone una certa quantità di navi, che occupano una cella, in modo casuale sulla matrice il giocatore tenta di distruggerle. Ad ogni turno il giocatore può sparare con due tipi di arma: il cannone ed il siluro. Se spara con il cannone sulla cella in posizione (riga,colonna), ha l'effetto di colpire la cella stessa, mentre se spara con il siluro da una posizione (riga,colonna) e con una certa direzione (che può assumere solo i valori -1,0 1), colpisce tutte le celle allineate lungo la direzione la cui colonna cc è maggiore o uguale a c, come mostrato in figura.

Campo


Esercizio 9A

Realizzare una classe Cella, che rappresenta una cella del campo di gioco. Ciascuna cella è caratterizzata dalle seguenti informazioni:

La classe Cella deve essere provvista dei seguenti metodi:

Soluzione


Esercizio 9B

Realizzare una classe BattagliaNavale, che contiene una matrice di 10x10 celle. La classe deve implementare i seguenti metodi:

Soluzione


Esercizio 9C

Realizzare un cliente della classe BattagliaNavale che:

Soluzione