25 lines
763 B
C#
25 lines
763 B
C#
using System.Collections.Generic;
|
|
|
|
namespace Minesweeper.Core
|
|
{
|
|
public interface IBoardService
|
|
{
|
|
int Width { get; }
|
|
int Height { get; }
|
|
int MinesCount { get; }
|
|
bool IsGenerated { get; }
|
|
int OpenedSafeCellsCount { get; }
|
|
int FlaggedCellsCount { get; }
|
|
int SafeCellsCount { get; }
|
|
IReadOnlyList<BoardCellData> LastChangedCells { get; }
|
|
|
|
void InitializeEmptyBoard();
|
|
bool GenerateAfterFirstClick(int safeX, int safeY);
|
|
BoardActionResult OpenCell(int x, int y);
|
|
BoardActionResult ToggleFlag(int x, int y);
|
|
bool IsInside(int x, int y);
|
|
bool TryGetCell(int x, int y, out BoardCellData cell);
|
|
IReadOnlyList<BoardCellData> GetCells();
|
|
}
|
|
}
|