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")); }