public MinesweeperEventJournal(MinesweeperController ms) { _journal = new Queue <MinesweeperEvent>(); ms.Uncover += RecordUncover; ms.SpecialUncover += RecordSpecialUncover; ms.Flag += RecordFlag; ms.Unflag += RecordUnflag; }
public MinesweeperGame(int width, int height, int numMines) { Controller = new MinesweeperController(width, height, numMines); EventJournal = new MinesweeperEventJournal(Controller); Scores = new Dictionary <int, int>(); Controller.Flag += HandleFlag; Controller.Unflag += HandleUnflag; Controller.Uncover += HandleUncover; Controller.SpecialUncover += HandleSpecialUncover; _createdAt = DateTime.Now; }
public MinesweeperGame(int width, int height, int numMines) { Controller = new MinesweeperController(width, height, numMines); EventJournal = new MinesweeperEventJournal(Controller); Scores = new Dictionary<int, int>(); Controller.Flag += HandleFlag; Controller.Unflag += HandleUnflag; Controller.Uncover += HandleUncover; Controller.SpecialUncover += HandleSpecialUncover; _createdAt = DateTime.Now; }
public void MinesweeperBoard_WithCorrectNumberOfMines_InitializesBoard() { int width = 50, height = 50, numMines = 100; MinesweeperController game = new MinesweeperController(width, height, numMines); var board = game.Board; var actualNumMines = 0; for (var i = 0; i < width; i++) { for (var j = 0; j < height; j++) { if (board[i, j].Type == CellType.Mined) { actualNumMines++; } } } Assert.AreEqual(numMines, actualNumMines, "Wrong number of mines"); }