Beispiel #1
0
        public async Task <NuspecReader> DownloadNuGetPackage(ScoreSettings settings, NuGetVersion version)
        {
            var logger            = NullLogger.Instance;
            var cancellationToken = CancellationToken.None;

            var cache      = new SourceCacheContext();
            var repository = Repository.Factory.GetCoreV3("https://api.nuget.org/v3/index.json");
            var resource   = await repository.GetResourceAsync <FindPackageByIdResource>();

            var packageId      = settings.PackageName;
            var packageVersion = version;

            using var packageStream = new MemoryStream();

            await resource.CopyNupkgToStreamAsync(
                packageId,
                packageVersion,
                packageStream,
                cache,
                logger,
                cancellationToken);

            using var packageReader = new PackageArchiveReader(packageStream);
            var nuspecReader = await packageReader.GetNuspecReaderAsync(cancellationToken);

            Console.WriteLine($"Tags: {nuspecReader.GetTags()}");
            Console.WriteLine($"Description: {nuspecReader.GetDescription()}");

            Console.WriteLine("Dependencies:");
            foreach (var dependencyGroup in nuspecReader.GetDependencyGroups())
            {
                Console.WriteLine($" - {dependencyGroup.TargetFramework.GetShortFolderName()}");
                foreach (var dependency in dependencyGroup.Packages)
                {
                    Console.WriteLine($"   > {dependency.Id} {dependency.VersionRange}");
                }
            }

            Console.WriteLine("Files:");
            foreach (var file in packageReader.GetFiles())
            {
                Console.WriteLine($" - {file}");
            }
            Console.WriteLine("Libs:");
            foreach (var lib in packageReader.GetLibItems())
            {
                Console.WriteLine($" - {lib.TargetFramework.GetShortFolderName()}");
            }
            return(nuspecReader);
        }
Beispiel #2
0
 /// <summary>
 /// Set to default settings
 /// </summary>
 private void MetroButtonSetDefault_Click(object sender, EventArgs e)
 {
     // Set the default settings
     metroTextBoxCutOffScore.Text         = 50.ToString();
     metroToggleInclCutoff.Checked        = false;
     metroTextBoxAscore.Text              = 5.ToString();
     metroTextBoxBscore.Text              = 10.ToString();
     metroTextBoxYscore.Text              = 10.ToString();
     metroTextBoxScoreDividerLoss.Text    = 2.ToString();
     metroTextBoxAIsoScore.Text           = 5.ToString();
     metroTextBoxBIsoScore.Text           = 10.ToString();
     metroTextBoxYIsoScore.Text           = 10.ToString();
     metroTextBoxLossDividerIsoScore.Text = 2.ToString();
     // Save the settings
     ScoreSettings.Save();
 }
Beispiel #3
0
        /// <summary>
        /// 获取用户实例以及积分。
        /// </summary>
        /// <param name="id">用户Id。</param>
        /// <returns>返回当前视图。</returns>
        public async Task <IActionResult> OnGetAsync(int id)
        {
            CurrentUser = await _userManager.FindByIdAsync(id);

            if (CurrentUser == null)
            {
                return(NotFound());
            }
            CurrentScore = await _scoreManager.GetScoreAsync(id);

            ScoreSettings = await GetSettingsAsync <ScoreSettings>();

            Input = new InputModel {
                UserId = id, Score = 1000
            };
            return(Page());
        }
Beispiel #4
0
        public GeneticSimulator(PopulationSettings populationSettings, ScoreSettings scoreSettings, GameSettings gameSettings)
        {
            var gameFactory          = CreateGameFactory(gameSettings, scoreSettings, UpdateGameBoardAsync);
            var offspringGameFactory = CreateGameFactory(gameSettings, scoreSettings, null);

            _populationFitnessFunction = new SnakeGameFitnessFunction(gameFactory);
            _offspringFitnessFunction  = new SnakeGameFitnessFunction(offspringGameFactory);

            _population = new Population
                          (
                populationSettings,
                new PointBasedCrossoverOperator(),
                new SoftmaxSelectionOperator(),
                new MutationOperator(),
                () => (Individual)gameFactory.CreatePlayer()
                          );
            _population.GenerationCompleted += OnGenerationFinished;

            _tokenSource = new CancellationTokenSource();
        }
Beispiel #5
0
        private IGameFactory CreateGameFactory(GameSettings gameSettings, ScoreSettings scoreSettings, Func <IPlayer, GameState, Task> onGameStateUpdated)
        {
            Func <List <IScoreCounter> > scoreCounters = () => new List <IScoreCounter>
            {
                new EatingScoreCounter(scoreSettings.ScoreForEating),
                new DistanceToFoodScoreCounter(scoreSettings.ScoreForCorrectWay, scoreSettings.ScoreForWrongWay)
            };

            Func <List <IDataCollector> > dataCollectors = () => new List <IDataCollector>
            {
                new FoodLocationDataCollector(),
                new NearestCollisionsDataCollector(gameSettings.BoardSize)
            };

            Func <List <IGameOverCondition> > gameOverConditionsFunc = () => new List <IGameOverCondition>
            {
                new MovesWithoutEatingCondition(100)
            };

            return(new GeneticGameFactory(scoreCounters, dataCollectors, gameOverConditionsFunc, gameSettings, onGameStateUpdated));
        }
Beispiel #6
0
 /// <summary>
 /// 获取积分配置。
 /// </summary>
 public async Task OnGetAsync()
 {
     Input = await GetSettingsAsync <ScoreSettings>();
 }
Beispiel #7
0
 /// <summary>
 /// Save the settings.
 /// </summary>
 private void MetroButtonSave_Click(object sender, EventArgs e)
 {
     ScoreSettings.Save();
 }