private static void InsertHistogram( HtmlRenderer htmlWriter, string title, string xAxisLabel, HistogramData data, int xAxisMaxValue, bool colllapsebyDefault = true, HtmlContentInserter content = null) { htmlWriter.InsertExpander(title, delegate() { htmlWriter.InsertLineGraph( title, "Turn", xAxisLabel, data.GetXAxis(xAxisMaxValue), data.GetYAxis(xAxisMaxValue) ); if (content != null) { content(); } }, collapseByDefault: colllapsebyDefault); }
private static void InsertCardData( HtmlRenderer htmlWriter, string title, CardGameSubset gameSubset, MapOfCardsForGameSubset <ForwardAndReversePerTurnPlayerCounters> statsPerCard, ForwardAndReversePerTurnPlayerCounters turnCounts, int playerIndex, int throughTurn) { Card[] cards = gameSubset.OrderBy(card => card.DefaultCoinCost).ToArray(); string[] seriesLabel = new string[cards.Length]; int[] xAxis = Enumerable.Range(1, throughTurn).ToArray(); float[][] seriesData = new float[cards.Length][]; for (int i = 0; i < cards.Length; i++) { seriesLabel[i] = cards[i].name; seriesData[i] = statsPerCard[cards[i]].forwardTotal.GetAveragePerTurn(playerIndex, throughTurn, turnCounts.forwardTotal); } htmlWriter.InsertExpander(title, delegate() { htmlWriter.InsertLineGraph(title, "Turn", seriesLabel, xAxis, seriesData); }, collapseByDefault: true); }
private static void InsertLineGraph( HtmlRenderer htmlWriter, string title, PlayerAction player1, PlayerAction player2, ForwardAndReversePerTurnPlayerCounters forwardAndReverseCounters, ForwardAndReversePerTurnPlayerCounters turnCounters, int throughTurn, bool colllapsebyDefault = true, HtmlContentInserter content = null) { if (forwardAndReverseCounters.forwardTotal.HasNonZeroData) { htmlWriter.InsertExpander(title, delegate() { htmlWriter.InsertLineGraph( title, "Turn", player1.PlayerName, player2.PlayerName, Enumerable.Range(1, throughTurn).ToArray(), forwardAndReverseCounters.forwardTotal.GetAveragePerTurn(0, throughTurn, turnCounters.forwardTotal), forwardAndReverseCounters.forwardTotal.GetAveragePerTurn(1, throughTurn, turnCounters.forwardTotal) ); htmlWriter.InsertExpander("Counting back from the end of the Game ...", delegate() { htmlWriter.InsertLineGraph( title, "Turn", player1.PlayerName, player2.PlayerName, Enumerable.Range(0, throughTurn).Select(turn => - turn).ToArray(), forwardAndReverseCounters.reverseTotal.GetAveragePerTurn(0, throughTurn, turnCounters.reverseTotal), forwardAndReverseCounters.reverseTotal.GetAveragePerTurn(1, throughTurn, turnCounters.reverseTotal) ); }); if (content != null) { content(); } }, collapseByDefault: colllapsebyDefault); } }
private static void InsertHistogramIntegrated( HtmlRenderer htmlWriter, string title, string xAxisLabel, HistogramData data, int xAxisMaxValue) { htmlWriter.InsertExpander(title, delegate() { htmlWriter.InsertLineGraph( title, "Turn", xAxisLabel, data.GetXAxis(xAxisMaxValue), data.GetYAxisIntegrated(xAxisMaxValue) ); }, collapseByDefault: true); }