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