public void TestPlayFieldWithCorrectData() { var position = new Position(0, 2); var generator = new StandardPlayFieldGenerator(position, 3, 3); PlayField field = new PlayField(generator, position, 4, 4); field.InitializePlayFieldCells(RandomNumberGenerator.Instance); }
/// <summary> /// Method that start the main logic of the game. /// </summary> /// <param name="output">Output renderer</param> /// <param name="input">Iput provider</param> /// <param name="cmmandLogger">Command logger</param> public static void Start(IRenderer output, IInputProvider input, ILogger cmmandLogger) { output.ShowInfoMessage("Please ente your name: "); string playerName = input.GetPlayerName(); output.ShowInfoMessage("Please enter a dimension for the board the standard is 9x9"); int dimension = input.GetPlayFieldDimensions(); ICell playerCell = new Cell(new Position(dimension / 2, dimension / 2)); IPlayField playField = null; var player = new Player.Player(playerName, playerCell); try { var playFieldGenerator = new StandardPlayFieldGenerator(player.CurentCell.Position, dimension, dimension); playField = new PlayField.PlayField(playFieldGenerator, player.CurentCell.Position, dimension, dimension); } catch (ArgumentOutOfRangeException e) { output.ShowInfoMessage(e.Message); } ICommandFactory commandFactory = new SimpleCommandFactory(); IMementoCaretaker memory = new MementoCaretaker(new List<IMemento>()); IScoreLadder ladder = ScoreLadder.Instance; IGameEngine gameEngine = new StandardGameEngine(output, input, playField, commandFactory, cmmandLogger, player,memory,ladder); gameEngine.Initialize(RandomNumberGenerator.Instance); gameEngine.Start(); }
public void CheskPlayFieldRowsGetter() { var position = new Position(0, 2); var generator = new StandardPlayFieldGenerator(position, 3, 3); int row = 4; int col = 5; PlayField field = new PlayField(generator, position, row, col); Assert.AreEqual(row, field.NumberOfRows); }
public void TestGeneratePlayField5X5ExitPathShouldExistFromTheCenter() { IPlayFieldGenerator generator = new StandardPlayFieldGenerator(new Position(2,2),5,5); bool pathFound = true; ExitFounder pathFounder = new ExitFounder(new Position(2,2),5,5 ); for (var i = 0; i < 7000; i++) { ICell[,] k = generator.GeneratePlayField(RandomNumberGenerator.Instance); if (!pathFounder.CheckForExit(k)) { pathFound = false; } } Assert.IsTrue(pathFound); }