protected void SetGameSize(MemBoard memBoard, MemField memField) { var level = (int)memBoard.GetType().GetField("_gameLevel", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(memBoard); var size = (Size)memField.GetType().GetField("_fSize", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(memField); Height = 4 * size.Height + 50 + 25; Width = (level / 4) * size.Width + 17; }
//Start new game method private void StartGame(int lvl) { ss = 0; mm = 0; _gameTimer.Interval = 1000; _gameTimer.Enabled = true; _gameTimer.Tick += GameTimerOnTick; Controls.OfType <MemField>().ToList().ForEach(field => field.Dispose()); _gameBoard = null; _gameBoard = new MemBoard((MemBoard.Level)lvl, this); _gameBoard.Board.ForEach(mm => mm.Click += ClickMe); _game.ShufleFields(_gameBoard); SetGameSize(_gameBoard, _gameBoard.Board[0]); }