private void InitializeSettings() { // Get and set the player name var playerName = _handleInput.GetPlayerName(); _loadPlayer.GetPlayerInstance().Name = playerName; // Get size of the maze matrix _sizeOfMaze = _handleInput.GetSizeOfMaze(); _mazeIntegration.BuildMaze(_sizeOfMaze); // Set player on the entrance room _loadPlayer.GetPlayerInstance().CurrentRoom = _loadMaze.GetMazeMapInstance().mazeRooms.Where(r => r.IsEntrance).FirstOrDefault(); _loadPlayer.GetPlayerInstance().HitPoints = _sizeOfMaze / 2; }
public void BuildMaze(int size) { // We need to use the sqare number of size since we will have a 2D space. var matrixSize = size * size; _connectToMaze.GetMazeMapInstance().mazeRooms = _mazeBuilder.CreateRooms(matrixSize, _mazeBuilder.ComputeNumberOfTraps(matrixSize)); _connectToMaze.GetMazeMapInstance().mazeSize = size; }
public void Move(char direction) { var newRoomId = _mazeIntegration.GetRoom(_loadPlayer.GetPlayerInstance().CurrentRoom.Id, direction); if (newRoomId.HasValue) { _loadMaze.GetMazeMapInstance().mazeRooms.Where(r => r.Id == newRoomId).FirstOrDefault().IsVisited = true; _loadPlayer.GetPlayerInstance().CurrentRoom = _loadMaze.GetMazeMapInstance().mazeRooms.Where(r => r.Id == newRoomId).FirstOrDefault(); _loadPlayer.GetPlayerInstance().StepsMade++; CheckCurrentRoom(); CheckSelf(); } else { Console.WriteLine(Constants.PlayerConstants.InvalidDirection); } }