public IEnumerable <Game> Execute() { //Load all game settings var gameSettings = _settingsRepository.GetAllGameSettings(); //Load all repository to look at var installationRepositories = _installationDirectoryRepository.GetAllInstallationFolders().ToList(); //Browse and detect installed games foreach (var gameSetting in gameSettings) { var gameDetection = new DetectGameStatus(gameSetting, installationRepositories); var gameDetectionResult = gameDetection.Execute(); yield return(_gameFact.GetGame(gameSetting, gameDetectionResult)); } }
public static void PlayGame(IGameFactory factory) { IGame game = factory.GetGame(); PlayerMoveDTO playerMoveDTO; while (true) { do { // Избира фигура, която иска да премести. Връща новата позиция на избраната фигура заедно с фигурара // или нейните координати. playerMoveDTO = player1.Move(game.Board); } while (!game.isMoveValid(playerMoveDTO)); // местим фигурата на дъската game.MoveFigure(playerMoveDTO); if (game.isEndGame()) { return; } do { // Избира фигура, която иска да премести. Връща новата позиция на избраната фигура заедно с фигурара // или нейните координати. playerMoveDTO = player2.Move(game.Board); } while (!game.isMoveValid(playerMoveDTO)); game.MoveFigure(playerMoveDTO); if (game.isEndGame()) { return; } } }