Exemplo n.º 1
0
        public void LaunchGame_GameLaunchedAfterJoining_InitialBoardPassedBack()
        {
            var mockDice = new MockDiceCreator()
                           .AddExplicitDiceRollSequence(new uint[] { 12, 10, 8, 2 })
                           .Create();

            var player    = new MockPlayer(PlayerName);
            var opponents = new[]
            {
                new MockComputerPlayer(FirstOpponentName),
                new MockComputerPlayer(SecondOpponentName),
                new MockComputerPlayer(ThirdOpponentName)
            };

            var mockPlayerFactory = LocalGameControllerTestCreator.CreateMockPlayerPool(player, opponents);

            var localGameController = new LocalGameControllerCreator().ChangeDice(mockDice).ChangePlayerPool(mockPlayerFactory).Create();

            GameBoardSetup gameBoardData = null;

            localGameController.InitialBoardSetupEvent = (GameBoardSetup g) => { gameBoardData = g; };

            localGameController.JoinGame();
            localGameController.LaunchGame();

            gameBoardData.ShouldNotBeNull();
        }
Exemplo n.º 2
0
        public ScenarioRunner ReceivesInitialBoardSetupEvent(GameBoardSetup gameBoardSetup)
        {
            var gameEvent        = new InitialBoardSetupEvent(gameBoardSetup);
            var eventInstruction = new EventInstruction(gameEvent);

            this.currentPlayerAgent.AddInstruction(eventInstruction);
            return(this);
        }
Exemplo n.º 3
0
 private void InitialBoardSetupEventHandler(GameBoardSetup gameBoardSetup)
 {
     this.gameBoardSetup = gameBoardSetup;
     this.InitialBoardSetupEvent?.Invoke();
 }