Пример #1
0
 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);
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
 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);
 }