private FieldCell[,] GetPlayingField() { FieldCell[,] result = new FieldCell[DefaultField.BoardSize, DefaultField.BoardSize]; var random = new Random(); for (int i = 0; i < 8; i++) { for (int j = 0; j < 8; j++) { var cell = GameBoardConroller.GenerateNewFieldCell(j, i, random, Cell_Click); result[i, j] = cell; } } return(result); }
public override void Update(GameTime gameTime) { if (IsTimerEnded(gameTime)) { _gameOverWindow?.Update(gameTime); return; } GameBoardConroller.MatchAndClear(GameField); UpdateActivatedBonuses(); UpdateDestroyers(gameTime); BonusController.BlowActivatedBombs(); BonusController.UseDestoyers(); if (Destroyers.Count == 0) { GemsController.MoveGems(GameField); GemsController.GenerateNewGems(GameField); } if (IsCurrentMoveImposible()) { return; } foreach (var cell in GameField) { cell.Update(gameTime); cell.Gem?.Update(gameTime); } }