private static void DrawMineCell(int row, int column, Graphics graphics, Font font, Brush fontBrush, ISkin skin, MineField mineField) { Bitmap myImage; if (mineField.WasOpened(column, row)) { myImage = mineField.HasMine(column, row) ? skin.Mine : GameConstants.TransparentCell; } else if (mineField.HasFlag(column, row)) { myImage = skin.Flag; } else { myImage = skin.Tile; } var rect = new Rectangle(column * GameConstants.CellWidth, row * GameConstants.CellHeight, GameConstants.CellWidth, GameConstants.CellHeight); graphics.DrawImage(myImage, rect); graphics.DrawRectangle(Pens.Black, rect); if (mineField.WasOpened(column, row) && mineField.NeighborMinesCount(column, row) != 0 && !mineField.HasMine(column, row)) { graphics.DrawString(mineField.NeighborMinesCount(column, row).ToString(), font, fontBrush, column * GameConstants.CellWidth + GameConstants.CellWidth / 4, row * GameConstants.CellHeight + GameConstants.CellHeight / 8); } }