Fondamenti di Informatica 1
Corsi di Laurea in Ingegneria
Informatica e Automatica

A.A. 2002/03


Esercitazione 8

Array

 

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 e' il computer, che non può mai sparare. Esso dispone una certa quantita' 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 puo' assumere solo i valori -1,0 1), colpisce tutte le celle allineate lungo la direzione la cui colonna cc e' maggiore o uguale a c, come mostrato in figura.

Campo

Parte I

Implementare 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 medoti:

 

Parte II

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