static void Main(string[] args) { MyConsole.WriteLine("Hello World"); const int threadCount = 4; const int width = 1000; const int height = 1000; const int moleculaCount = 10000; var time = TimeSpan.FromSeconds(0.01); var random = new Random(); var forceCalculatingService = new ForceCalculatingService(); var moleculasUpdatingService = new MoleculasUpdatingService(); var factory = new ForceStategyFactory(); var moleculasA = new Molecula[moleculaCount]; var moleculasB = new Molecula[moleculaCount]; for (int i = 0; i < moleculaCount; i++) { int x = random.Next(width); int y = random.Next(height); var moleculaA = new Molecula(null); var moleculaB = new Molecula(null); moleculaA.Position = new Vector2(x, y); moleculaB.Position = new Vector2(x, y); moleculasA[i] = moleculaA; moleculasB[i] = moleculaB; } var strategies = new BaseForceStrategy[] { factory.GetBasicForceStrategy(moleculasA, forceCalculatingService, moleculasUpdatingService), factory.GetParallelForceStratagy(moleculasB, forceCalculatingService, moleculasUpdatingService, threadCount) }; foreach (var strategy in strategies) { strategy.Time = time; strategy.Height = height; strategy.Width = width; } do { var benchmark = new Benchmark<object>(strategies); if (!benchmark.StartBenchmark().IsBechmarkSuccessful) { break; } MyConsole.WriteLine(); } while (true); MyConsole.WriteLine("Tests finished!! Press enter"); MyConsole.ReadLine(); }
public Game() { _random = new Random(); _forceStategyFactory = new ForceStategyFactory(); _forceCalculatingService = new ForceCalculatingService(); _moleculasUpdatingService = new MoleculasUpdatingService(); Moleculas = new List<Molecula>(); StrategyType = StrategyType.Basic; }