// Metodo che aggiorna il massimo numero di mine inseribili dall'utente nel controllo di scorrimento
        private void UpdateMaxMines(object sender, EventArgs e)
        {
            // si acquisiscono lunghezza e altezza attuali del campo minato
            int actualLength = (int)_settings.MinefieldLength.Value;
            int actualHeight = (int)_settings.MinefieldHeight.Value;
            // si calcola il massimo numero di mine rispetto alle dimensioni indicate del campo minato
            int maxMine = Minefield.GetMaxMines(actualLength, actualHeight);

            // si aggiorna il massimo numero di mine inseribili dall'utente
            _settings.MinefieldMines.Maximum = maxMine;

            // si aggiorna l'etichetta informativa correlata al numero di mine inseribili dall'utente
            int minMine = (int)_settings.MinefieldMines.Minimum;

            _settings.MinefieldMinesMinMaxInfo = "[ Min: " + minMine + " - Max: " + maxMine + " ]";
        }
        // Metodo che verifica la correttezza dei dati da inserire nella lista delle difficoltà
        private bool DifficultyIsCorrect(string difficultyName, int length, int height, int mines)
        {
            // se almeno una caratteristica del campo minato è errata si comunica che la difficoltà non è corretta
            if (length < Minefield.MinSide || length > Minefield.MaxSide ||
                height < Minefield.MinSide || height > Minefield.MaxSide ||
                mines < Minefield.MinSide || mines > Minefield.GetMaxMines(length, height))
            {
                return(false);
            }

            // se nella lista è già presente una difficoltà con lo stesso nome oppure con i medesimi valori
            // dei parametri del campo minato allora si comunica che la difficoltà non è corretta
            foreach (Tuple <string, int, int, int> entry in _difficultiesList)
            {
                if (difficultyName == entry.Item1 ||
                    (length == entry.Item2 && height == entry.Item3 && mines == entry.Item4))
                {
                    return(false);
                }
            }

            // se i controlli precendenti sono stati superati si comunica che la difficoltà è corretta
            return(true);
        }