Esempio n. 1
0
        public MainWindow()
        {
            InitializeComponent();

            #region load settings
            try
            {
                gridSide          = int.Parse(ConfigurationManager.AppSettings["gridSide"]);
                cellNumber        = gridSide * gridSide;
                shotLimit         = int.Parse(ConfigurationManager.AppSettings["shotLimit"]);
                shotAnimationTime = int.Parse(ConfigurationManager.AppSettings["shotAnimationTime"]);
                animationDuration = new TimeSpan(0, 0, shotAnimationTime).Ticks;

                shipNumbers = ConfigurationManager.AppSettings["shipNumbers"].Split(',').Select(s => int.Parse(s)).ToArray();

                cellImages = new Image[cellNumber];
            }
            catch (Exception)
            {
                MessageBox.Show("Invalid configuration file", "Error");
                Application.Current.Shutdown();
            }
            #endregion

            gameController = new GameController(shotLimit, gridSide, shipNumbers);
            ImageResourcesManager.Initialize();
            GameAudioManager.Initialize();
            InitializeCells();
            InitializeButtons();
            UpdateClicksUI();
        }