public void Update(BattleSimulation.Result result) { Runs++; Turns += result.Turns; Points += result.Points0; Merge(result.Stats0); switch (result.Outcome) { case BattleSimulation.Outcome.Win: Wins++;break; case BattleSimulation.Outcome.Draw: Draws++; break; case BattleSimulation.Outcome.Loss: Losses++; break; } }
private void RunSimulation(BotData bot0, BotData bot1, MT19937Generator rnd) { Console.Write("\r{0:d\\.hh\\:mm\\:ss} {1:#,##0} ({2:0.00} /sec) Last ID: {3} ", sw.Elapsed, Simulations, Simulations / sw.Elapsed.TotalSeconds, Bots.LastId); var simulation = new BattleSimulation(bot0, bot1, SearchDepth); var result = simulation.Run(rnd, LogGames); Results.Enqueue(new BattlePairing(bot0, bot1) { Result = result }); lock (lockElo) { Simulations++; } }