// Metodo eseguito quando si vuole iniziare una nuova partita private void NewGame(object sender, EventArgs e) { if (_minesweeperGame == null) { // se la partita non è stata configurata viene richiamato il form delle impostazioni CallUpSettings(sender, e); } else { // se la partita è stata configurata ed è stata scoperta almeno una zona interagibile... if (_interactableZoneUncovered) { // ...si reimpostano le zone interagibili... _mainForm.SetInteractableMinefieldSize(_length, _height); _interactableZoneUncovered = false; // ...si riconfigurano i controlli del form di gioco... SetFormControls(); // ...si crea un nuovo campo minato dalle medesime caratteristiche... _minefield.CreateNewMinefield(); // ...e si crea una nuova partita dalle medesime impostazioni _minesweeperGame.NewGame(); } } }