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)); }
public static MaednLogic GetMaednGame() { var game = new MaednLogic(new MaednConfiguration()); game.Map.Create(); game.Setup(); return(game); }
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)); }
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(); }
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)); }
public DefaultBehavior(MaednLogic gameLogic, Player player) { _player = player; _gameLogic = gameLogic; }