public PlayBenchmark()
        {
            GameDatabase.DatabaseFolder = "C:\\SlitherShark\\test\\benchmark\\10";
            GameDatabase.LoadGames();

            var jsonString = File.ReadAllText("C:\\SlitherShark\\test\\source\\test.json");

            SourceGame = JsonConvert.DeserializeObject <Game>(jsonString, new JsonSerializerSettings
            {
                TypeNameHandling  = TypeNameHandling.Auto,
                NullValueHandling = NullValueHandling.Ignore,
            });

            SlitherPlayer = new SlitherPlayer(new FrameProcessor(new OutcomeProcessor(new OutcomeScoreProcessor()), new CollisionMapProcessor(new CollisionMapResolutionProcessor(new CollisionSliceProcessor(new FoodSliceProcessor(new CollisionService()), new BadCollisionSliceProcessor(new CollisionService()), new SelfSliceProcessor(new CollisionService()))), new SlitherFrameNormalizer())), new ProcessedFrameMatchAnalyzer(new CollisionMapMatchAnalyzer(new SliceMatchAnalyzer(new CollisionListMatchAnalyzer()))), new SlitherFrameNormalizer());
        }
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddCors(options =>
            {
                options.AddPolicy(AllowSpecificOrigins, builder => builder.WithOrigins("http://slither.io").AllowAnyHeader().AllowAnyMethod());
            });

            var frameProcessor = new FrameProcessor(new OutcomeProcessor(new OutcomeScoreProcessor()), new CollisionMapProcessor(new CollisionMapResolutionProcessor(new CollisionSliceProcessor(new FoodSliceProcessor(new CollisionService()), new BadCollisionSliceProcessor(new CollisionService()), new SelfSliceProcessor(new CollisionService()))), new SlitherFrameNormalizer()));
            var gameManager    = new GameManager(new GameProcessor(frameProcessor), sourceDatabaseFolder);
            var slitherPlayer  = new SlitherPlayer(frameProcessor, new ProcessedFrameMatchAnalyzer(new CollisionMapMatchAnalyzer(new SliceMatchAnalyzer(new CollisionListMatchAnalyzer()))), new SlitherFrameNormalizer());

            services.AddSingleton(gameManager);
            services.AddSingleton(slitherPlayer);

            services.AddControllers();
        }
Exemple #3
0
 public PlayController(GameManager gameManager, SlitherPlayer slitherPlayer)
 {
     GameManager   = gameManager;
     SlitherPlayer = slitherPlayer;
 }