示例#1
0
        private List <PlayerSimulationsStatistics> GetSimulationsStatistics()
        {
            var simulationsStatisticsToReturn = new List <PlayerSimulationsStatistics>();

            foreach (var playerSimulationsTotals in _playerSimulationsTotalsCollection)
            {
                var simulationsStatistics = new PlayerSimulationsStatistics
                {
                    StrategyName = playerSimulationsTotals.StrategyName,
                    AverageBet   = playerSimulationsTotals.TotalMoneyBet / (decimal)playerSimulationsTotals.TotalHandsPlayed,
                    StartingCash = playerSimulationsTotals.StartingCash,
                    RunCount     = _numberOfSimulationRuns,
                    AverageCountOfHandsUntilBroke = (decimal)playerSimulationsTotals.TotalHandsPlayed / (decimal)_numberOfSimulationRuns,
                    AverageMoneyLostPerHand       = playerSimulationsTotals.TotalStartingMoneyLost / (decimal)playerSimulationsTotals.TotalHandsPlayed,
                    WonHandsPercent  = (decimal)playerSimulationsTotals.TotalHandsWon / (decimal)playerSimulationsTotals.TotalHandsPlayed,
                    LostHandsPercent = (decimal)playerSimulationsTotals.TotalHandsLost / (decimal)playerSimulationsTotals.TotalHandsPlayed,
                    PushHandsPercent = (decimal)playerSimulationsTotals.TotalHandsPushed / (decimal)playerSimulationsTotals.TotalHandsPlayed
                };
                simulationsStatistics.LossRate = simulationsStatistics.AverageBet / playerSimulationsTotals.StartingCash *
                                                 simulationsStatistics.AverageCountOfHandsUntilBroke;

                simulationsStatisticsToReturn.Add(simulationsStatistics);
            }

            return(simulationsStatisticsToReturn);
        }
 public void Save(PlayerSimulationsStatistics playerSimulationsStatistics)
 {
     using (var db = new PlayerSimulationsStatisticsContext())
     {
         db.PlayerSimulationsStatisticsCollection.Add(playerSimulationsStatistics);
         db.SaveChangesAsync();
     }
 }
 public void Print(PlayerSimulationsStatistics simulationsStatistics)
 {
     Console.WriteLine("----------Results of One Basic Minimum Player Scenario--------");
     Console.WriteLine("Average number of hands until broke: " +
                       simulationsStatistics.AverageCountOfHandsUntilBroke.ToString("F5"));
     Console.WriteLine("Average money lost per hand: $" + simulationsStatistics.AverageMoneyLostPerHand.ToString("F5"));
     Console.WriteLine("Hands won: " + simulationsStatistics.WonHandsPercent.ToString("P3"));
     Console.WriteLine("Hands lost: " + simulationsStatistics.LostHandsPercent.ToString("P3"));
     Console.WriteLine("Hands pushed: " + simulationsStatistics.PushHandsPercent.ToString("P3"));
     Console.WriteLine("Loss rate percentage: " + simulationsStatistics.LossRate.ToString("F5"));
 }