/// <summary> /// Loads all levels into the level manager. /// </summary> private void LoadLevels() { _levelManager = new LevelManager(); _meteorFactory = new MeteorFactory(_entityManager, _game); _levelFactory = new MeteorLevelFactory(_entityManager, _meteorFactory, _game); _levelManager.EnqueueLevel(_levelFactory.CreateLevel(LevelDifficulty.EASY)); _levelManager.EnqueueLevel(_levelFactory.CreateLevel(LevelDifficulty.NORMAL)); _levelManager.EnqueueLevel(_levelFactory.CreateLevel(LevelDifficulty.HARD)); }
public void PlayGame() { CurrentLevelNumber = 1; _display.Welcome(); var mazeData = _gameSettingLoader.GetMazeData(); while (IsPlaying) { var maze = _mazeFactory.CreateMaze(mazeData.LevelSettings[CurrentLevelNumber - 1]); var level = _levelFactory.CreateLevel(maze); level.PlayLevel(); if (level.HasWon) { _display.CongratulationsNewLevel(CurrentLevelNumber); System.Threading.Thread.Sleep(TimeSpan.FromSeconds(1)); CurrentLevelNumber++; } else { HandleLostLevel(); } if (CurrentLevelNumber >= mazeData.MaxLevels) { IsPlaying = false; } } Display.WonGame(); }
/// <inheritdoc/> public async Task<PlayerBoardViewModel> StartNewGameAsync(StartGameRequest request) { DifficultyLevel level = factory.CreateLevel(request.LevelName); var player = await playerRepository.FirstOrDefaultAsync(request.PlayerId); if(player == null) { throw new PlayerNotFoundException(); } await boardRepository.DeleteAsync(board => board.PlayerId == player.Id); var templateBoardDb = await service.GetRandomTemplateBoardByLevelAsync(level); var templateBoard = mapper.Map<TemplateBoard>(templateBoardDb); var playerBoard = new PlayerBoard(templateBoard) { PlayerId = player.Id }; var playerBoardDb = mapper.Map<PlayerBoardDbModel>(playerBoard); playerBoard.BoardId = await boardRepository.InsertAndGetIdAsync(playerBoardDb); return mapper.Map<PlayerBoardViewModel>(playerBoard); }
public LevelManager(IEventAggregator eventAggregator, ILevelFactory levelFactory, ICollisionManager collisionManager, IParticleManager particleManager, IDrawer drawer) { _eventAggregator = eventAggregator; _collisionManager = collisionManager; _particleManager = particleManager; _level = levelFactory.CreateLevel(); _drawer = drawer; }
public void Run() { player.InitializePlayer(); writer.ClearInterface(); writer.PrintOnNewLine(MenuMessages.levelsMenu); string chosenLevel = reader.ReadNewLine(); level = levelFactory.CreateLevel(chosenLevel, unityContainer, player); level.RunLevel(); player.SaveScore(); }
public MainPage() { InitializeComponent(); var panels = SetupGamePanels(); _levelFactory = new TimeLevelFactory(panels); _timeFactory = new TimeFactory(); _level = _levelFactory.CreateLevel(1); SetTimes(_level); }
public void InvokeState() { var level = levelFactory.CreateLevel(); var inputLoop = new InputLoop(); var playView = new ConsolePlayView(); var moveInteractor = new MoveInteractor(level, playView); var exitGameInteractor = new ExitGameInteractor(inputLoop); var moveProcessor = new MoveProcessor(moveInteractor); var exitGameProcessor = new ExitGameProcessor(exitGameInteractor); var keyboardController = new KeyboardController(); keyboardController.AddInputProcessor(moveProcessor); keyboardController.AddInputProcessor(exitGameProcessor); inputLoop.AddUpdatable(keyboardController); playView.Draw(level); inputLoop.Start(); }
private void InitLevel() { levelFactory.CreateLevel(); }