public IEnumerable <string> ValidateShipConstraints(GameConstraint gameConstraints)
        {
            var errorMessages = new List <string>();

            errorMessages.AddRange(ValidateShips(gameConstraints.Ships));

            return(errorMessages);
        }
Exemple #2
0
        public Player(IConstraintValidator constraintValidator, IBattlefieldSetter battlefieldSetter, GameConstraint gameConstraint)
        {
            this.constraintValidator = constraintValidator;
            this.battlefieldSetter   = battlefieldSetter;
            this.gameConstraint      = gameConstraint;

            ValidateConstraint(gameConstraint);
            InitializeBattlefieldAnalyzer();
            name = gameConstraint.PlayerName;
        }
Exemple #3
0
        private void ValidateConstraint(GameConstraint gameConstraint)
        {
            errors = new List <string>();
            errors.AddRange(constraintValidator.ValidateShipConstraints(gameConstraint).ToList());

            isValidPlayer = errors.Any() ? false : true;

            if (isValidPlayer)
            {
                battlefield = new string[10, 10];

                battlefield       = battlefieldSetter.PrepareBattlefield(gameConstraint.Ships);
                maskedBattlefield = battlefieldSetter.InitializeEmptyBattleField();
            }
        }
Exemple #4
0
 private Player SetupPlayer(GameConstraint constraints)
 {
     return(new Player(constraintValidator, battlefieldSetter, constraints));
 }