コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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;
                }
            }
        }