// Costruttore della classe
        public Giocatore(string nome)
        {
            this.Nome = nome;

            // inizializzato le navi, non ha molta differenza dagli array
            this.ListaNavi = new List <Nave>(10)
            {
                new Portaerei("Portaerei"),
                new Incrociatore("Incrociatore_1"),
                new Incrociatore("Incrociatore_2"),
                new Torpediniere("Torpediniere_1"),
                new Torpediniere("Torpediniere_2"),
                new Torpediniere("Torpediniere_3"),
                new Sottomarino("Sottomarino_1"),
                new Sottomarino("Sottomarino_2"),
                new Sottomarino("Sottomarino_3"),
                new Sottomarino("Sottomarino_4")
            };

            this.MioCampo = new CampoDaGioco(10);
        }
        // Metodo per sparare nel campo dell'avversario
        public bool FaccioFuoco(Casella bersaglio, CampoDaGioco campoNemico)
        {
            bool colpito = false;

            // stati della casella: libera, occupata, mancata, colpita

            // Controllo che nella casella bersaglio sia presente una nave
            if (campoNemico.Casella[bersaglio.Riga, bersaglio.Colonna].StatoCasella == Stato.occupata)
            {
                colpito = true;
                // cambio lo stato della casella in modo che non possa essere più colpita
                campoNemico.Casella[bersaglio.Riga, bersaglio.Colonna].StatoCasella   = Stato.colpita;
                campoNemico.Casella[bersaglio.Riga, bersaglio.Colonna].SimboloCasella = 'O';
            }
            else
            {
                // anche se non è stata colpita nessuna nave devo cambiare lo stato della casella
                campoNemico.Casella[bersaglio.Riga, bersaglio.Colonna].StatoCasella   = Stato.mancata;
                campoNemico.Casella[bersaglio.Riga, bersaglio.Colonna].SimboloCasella = 'X';
            }

            return(colpito);
        }