Beispiel #1
0
        public void CheckThreeDice()
        {
            var game             = GetMaednGame();
            var firstPlayerSet   = game.PlayerSets[0];
            var firstPlayerState = (MaednPlayerState)game.PlayerSets[0].State;
            var firstFigure      = game.PlayerSets[0].Player.Figures[0];
            var secondFigure     = game.PlayerSets[0].Player.Figures[1];
            var thirdFigure      = game.PlayerSets[0].Player.Figures[2];
            var fourthFigure     = game.PlayerSets[0].Player.Figures[2];

            Assert.True(MaednLogic.AreFiguresPressedInGoalOrHome(firstPlayerSet));

            firstFigure.Field = game.Map.MovingFields.ElementAt(2);
            Assert.False(MaednLogic.AreFiguresPressedInGoalOrHome(firstPlayerSet));

            firstFigure.Field = firstPlayerState.GoalFields.ElementAt(0);
            Assert.False(MaednLogic.AreFiguresPressedInGoalOrHome(firstPlayerSet));

            firstFigure.Field = firstPlayerState.GoalFields.ElementAt(1);
            Assert.False(MaednLogic.AreFiguresPressedInGoalOrHome(firstPlayerSet));

            firstFigure.Field = firstPlayerState.GoalFields.ElementAt(3);
            Assert.True(MaednLogic.AreFiguresPressedInGoalOrHome(firstPlayerSet));

            secondFigure.Field = game.Map.MovingFields.ElementAt(4);
            Assert.False(MaednLogic.AreFiguresPressedInGoalOrHome(firstPlayerSet));

            secondFigure.Field = firstPlayerState.GoalFields.ElementAt(2);
            Assert.True(MaednLogic.AreFiguresPressedInGoalOrHome(firstPlayerSet));

            secondFigure.Field = firstPlayerState.GoalFields.ElementAt(1);
            Assert.False(MaednLogic.AreFiguresPressedInGoalOrHome(firstPlayerSet));
        }
Beispiel #2
0
        public static MaednLogic GetMaednGame()
        {
            var game = new MaednLogic(new MaednConfiguration());

            game.Map.Create();
            game.Setup();
            return(game);
        }
Beispiel #3
0
        public void CheckStartEvaluation()
        {
            var game = GetMaednGame();

            var firstFigure = game.PlayerSets[0].Player.Figures[0];
            var state       = (MaednPlayerState)game.UpdatePlayerState(game.PlayerSets[0]);

            Assert.False(MaednLogic.IsFigureInStart(game.PlayerSets[0], firstFigure));

            firstFigure.Field = state.StartField;
            Assert.True(MaednLogic.IsFigureInStart(game.PlayerSets[0], firstFigure));

            firstFigure.Field = ((MaednPlayerState)game.PlayerSets[1].State).StartField;
            Assert.False(MaednLogic.IsFigureInStart(game.PlayerSets[0], firstFigure));
        }
Beispiel #4
0
        private static void Main()
        {
            // Initializes the log
            TheLog.FilterThreshold = LogLevel.Trace;
            TheLog.AddProvider(new ConsoleProvider(), LogLevel.Error);
            TheLog.AddProvider(new FileProvider("maednlog.txt", true));

            for (var n = 0; n < 1000; n++)
            {
                // Runs the game
                var gameLogic = new MaednLogic(new MaednConfiguration
                {
                    NumberOfPlayers = 4
                });
                gameLogic.Run();
            }

            TheLog.Fatal("Done");
            Console.ReadKey();
        }
Beispiel #5
0
        public void CheckHomeEvaluation()
        {
            var game = GetMaednGame();

            var firstFigure = game.PlayerSets[0].Player.Figures[0];
            var state       = (MaednPlayerState)game.UpdatePlayerState(game.PlayerSets[0]);

            Assert.True(state != null);
            Assert.True(MaednLogic.IsFigureInHome(game.PlayerSets[0], firstFigure));

            firstFigure.Field = game.Map.MovingFields.ElementAt(3);
            Assert.False(MaednLogic.IsFigureInHome(game.PlayerSets[0], firstFigure));

            firstFigure.Field = game.Map.RedGoalFields.ElementAt(3);
            Assert.False(MaednLogic.IsFigureInHome(game.PlayerSets[0], firstFigure));

            firstFigure.Field = game.Map.RedHomeFields.ElementAt(3);
            Assert.True(MaednLogic.IsFigureInHome(game.PlayerSets[0], firstFigure));

            firstFigure.Field = game.Map.BlueHomeFields.ElementAt(3);
            Assert.False(MaednLogic.IsFigureInHome(game.PlayerSets[0], firstFigure));
        }
Beispiel #6
0
 public DefaultBehavior(MaednLogic gameLogic, Player player)
 {
     _player    = player;
     _gameLogic = gameLogic;
 }