예제 #1
0
        static CounterHeadsTails CountHeadsTails(string tosses)
        {
            byte counterHeads    = 0;
            byte counterTails    = 0;
            byte maxCounterHeads = 0;
            byte maxCounterTails = 0;

            tosses = increaseCollectionWithOneElement(tosses);


            for (int i = 0; i < tosses.Length - 1; i++)
            {
                if (tosses[i] == 'H')
                {
                    counterHeads++;

                    if (tosses[i + 1] == 'T')
                    {
                        if (maxCounterHeads < counterHeads)
                        {
                            maxCounterHeads = counterHeads;
                        }

                        counterHeads = 0;
                    }
                }

                if (tosses[i] == 'T')
                {
                    counterTails++;

                    if (tosses[i + 1] == 'H')
                    {
                        if (maxCounterTails < counterTails)
                        {
                            maxCounterTails = counterTails;
                        }

                        counterTails = 0;
                    }
                }
            }

            CounterHeadsTails countedHeadAndTails = new CounterHeadsTails(maxCounterHeads, maxCounterTails);

            return(countedHeadAndTails);
        }
예제 #2
0
        static void GetWinningTosses(CounterHeadsTails countedHeadAndTails)
        {
            if (countedHeadAndTails.Heads > countedHeadAndTails.Tails)
            {
                Console.WriteLine("H wins!");
            }

            if (countedHeadAndTails.Tails > countedHeadAndTails.Heads)
            {
                Console.WriteLine("T wins!");
            }

            if (countedHeadAndTails.Heads == countedHeadAndTails.Tails)
            {
                Console.WriteLine("Draw!");
            }
        }