public MinesweeperEventJournal(MinesweeperController ms)
 {
     _journal           = new Queue <MinesweeperEvent>();
     ms.Uncover        += RecordUncover;
     ms.SpecialUncover += RecordSpecialUncover;
     ms.Flag           += RecordFlag;
     ms.Unflag         += RecordUnflag;
 }
Beispiel #2
0
        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");
 }