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(); }
public PlayController(GameManager gameManager, SlitherPlayer slitherPlayer) { GameManager = gameManager; SlitherPlayer = slitherPlayer; }