private void ShowGameModeOptions(string gameModeName) { ConfigurationInformationTitles.Text = "Can Checker Beat The Queen" + Environment.NewLine + "Can The Queen Move Over More Fields" + Environment.NewLine + //"Should Checker Make The Best Move First" + Environment.NewLine + "Can Checker Make A Reverse Beat" + Environment.NewLine + "Color For Top Left Corner" + Environment.NewLine + "Board Size"; GameConfiguration pickedGameModeConfiguration = new GameConfiguration(GameModeConfigurations, gameModeName); ConfigurationInformationValues.Text = pickedGameModeConfiguration.CanCheckerBeatQueen().ToString() + Environment.NewLine + pickedGameModeConfiguration.CanQueenMoveOverMoreFields().ToString() + Environment.NewLine + //pickedGameModeConfiguration.ShouldCheckerMakeTheBestMoveFirst().ToString() + Environment.NewLine + pickedGameModeConfiguration.CanCheckerMakeReverseBeat().ToString() + Environment.NewLine + pickedGameModeConfiguration.GetColorForTopLeftCorner().ToString() + Environment.NewLine + pickedGameModeConfiguration.GetBoardSize().ToString() + "x" + pickedGameModeConfiguration.GetBoardSize().ToString(); }
public List <Point> GetPossibleMoves(Field field) { List <Point> possibleLocations = GetAllPossibleLocations(field); possibleLocations = LimitToBoard(possibleLocations); possibleLocations = LimitToNearestEnemies(field, possibleLocations); if (!field.PlacedChecker.IsQueen) { possibleLocations = LimitToDirection(possibleLocations, field); } if (!field.PlacedChecker.IsQueen || !GameConfiguration.CanQueenMoveOverMoreFields()) { possibleLocations = LimitToMaxJumps(possibleLocations, field); } possibleLocations.AddRange(GetPossibleMovesOverEnemies(field)); possibleLocations = LimitToBoard(possibleLocations); return(possibleLocations); }