示例#1
0
        public void ShowScore() // Виведення результатів гравця
        {
            int total = 0;

            Console.Write("{0, -3}| {1, -20}|", id, name);
            foreach (Frame fr in frames)
            {
                if (fr.IsSplit())
                {
                    if (fr.IsSpare())
                    {
                        Console.Write("({0})|/|", fr.GetScoreFirst());
                        total += fr.GetScore();
                    }
                    else
                    {
                        if (fr.GetScoreSecond() == 0)
                        {
                            Console.Write("({0})| -|", fr.GetScoreFirst());
                        }
                        else
                        {
                            Console.Write("({0})| {1}|", fr.GetScoreFirst(), fr.GetScoreSecond());
                        }

                        total += fr.GetScore();
                    }
                }
                else if (fr.IsStrike())
                {
                    Console.Write(" X|  |");
                    total += fr.GetScore();
                }
                else if (fr.IsSpare())
                {
                    if (fr.GetScoreFirst() == 0)
                    {
                        Console.Write(" -| /|", fr.GetScoreFirst());
                    }
                    else
                    {
                        Console.Write(" {0}| /|", fr.GetScoreFirst());
                    }
                    total += fr.GetScore();
                }
                else
                {
                    if (fr.GetScoreFirst() == 0)
                    {
                        if (fr.GetScoreSecond() == 0)
                        {
                            Console.Write(" -| -|");
                        }
                        else
                        {
                            Console.Write(" -| {0}|", fr.GetScoreSecond());
                        }
                    }
                    else
                    {
                        if (fr.GetScoreSecond() == 0)
                        {
                            Console.Write(" {0}| -|", fr.GetScoreFirst());
                        }
                        else
                        {
                            Console.Write(" {0}| {1}|", fr.GetScoreFirst(), fr.GetScoreSecond());
                        }
                    }
                    total += fr.GetScore();
                }
            }
            for (int i = 0; i < 9 - frames.Count; i++)
            {
                Console.Write("  |  |");
            }

            if (frames.Count < 10 && !isLast)
            {
                Console.Write("   |  |   |");
            }
            else
            {
                if (lastFrame.IsSplit())
                {
                    if (lastFrame.IsSpare())
                    {
                        if (lastFrame.IsSplitThird())
                        {
                            Console.Write("({0})| /|({1})|", lastFrame.GetScoreFirst(), lastFrame.GetScoreThird());
                        }
                        else if (lastFrame.IsStrikeThird())
                        {
                            Console.Write("({0})| /| X |", lastFrame.GetScoreFirst());
                        }
                        else
                        {
                            if (lastFrame.GetScoreThird() == 0)
                            {
                                Console.Write("({0})| /| - |", lastFrame.GetScoreFirst());
                            }
                            else
                            {
                                Console.Write("({0})| /| {1} |", lastFrame.GetScoreFirst(), lastFrame.GetScoreThird());
                            }
                        }
                        total += lastFrame.GetScore();
                    }
                    else
                    {
                        if (lastFrame.GetScoreSecond() == 0)
                        {
                            Console.Write("({0})| -|   |", lastFrame.GetScoreFirst());
                        }
                        else
                        {
                            Console.Write("({0})| {1}|   |", lastFrame.GetScoreFirst(), lastFrame.GetScoreSecond());
                        }
                        total += lastFrame.GetScore();
                    }
                }
                else if (lastFrame.IsStrike())
                {
                    if (lastFrame.IsStrikeSecond())
                    {
                        if (lastFrame.IsSplitThird())
                        {
                            Console.Write(" X | X|({0})|", lastFrame.GetScoreThird());
                        }
                        else if (lastFrame.IsStrikeThird())
                        {
                            Console.Write(" X | X| X |");
                        }
                        else
                        {
                            if (lastFrame.GetScoreThird() == 0)
                            {
                                Console.Write(" X | X| - |");
                            }
                            else
                            {
                                Console.Write(" X | X| {0} |", lastFrame.GetScoreThird());
                            }
                        }
                    }
                    else
                    {
                        if (lastFrame.IsSplitSecond())
                        {
                            if (lastFrame.IsSpareThird())
                            {
                                Console.Write(" X |({0})| /|", lastFrame.GetScoreSecond());
                            }
                            else
                            {
                                if (lastFrame.GetScoreThird() == 0)
                                {
                                    Console.Write(" X |({0})| -|", lastFrame.GetScoreSecond());
                                }
                                else
                                {
                                    Console.Write(" X |({0})| {1}|", lastFrame.GetScoreSecond(), lastFrame.GetScoreThird());
                                }
                            }
                            Console.Write(" X |  |({0})|", lastFrame.GetScoreThird());
                        }
                        else
                        {
                            if (lastFrame.GetScoreSecond() == 0)
                            {
                                if (lastFrame.IsSpareThird())
                                {
                                    Console.Write(" X | -| / |");
                                }
                                else
                                {
                                    if (lastFrame.GetScoreThird() == 0)
                                    {
                                        Console.Write(" X | -| - |");
                                    }
                                    else
                                    {
                                        Console.Write(" X | -| {0} |", lastFrame.GetScoreThird());
                                    }
                                }
                            }
                            else
                            {
                                if (lastFrame.IsSpareThird())
                                {
                                    Console.Write(" X | {0}| / |", lastFrame.GetScoreSecond());
                                }
                                else
                                {
                                    if (lastFrame.GetScoreThird() == 0)
                                    {
                                        Console.Write(" X | {0}| - |", lastFrame.GetScoreSecond());
                                    }
                                    else
                                    {
                                        Console.Write(" X | {0}| {1} |", lastFrame.GetScoreSecond(), lastFrame.GetScoreThird());
                                    }
                                }
                            }
                        }
                    }
                    total += lastFrame.GetScore();
                }
                else if (lastFrame.IsSpare())
                {
                    if (lastFrame.IsSplitThird())
                    {
                        if (lastFrame.GetScoreFirst() == 0)
                        {
                            Console.Write(" - | /|({0})|", lastFrame.GetScoreThird());
                        }
                        else
                        {
                            Console.Write(" {0} | /|({1})|", lastFrame.GetScoreFirst(), lastFrame.GetScoreThird());
                        }
                    }
                    else if (lastFrame.IsStrikeThird())
                    {
                        if (lastFrame.GetScoreFirst() == 0)
                        {
                            Console.Write(" - | /| X |");
                        }
                        else
                        {
                            Console.Write(" {0} | /| X |", lastFrame.GetScoreFirst());
                        }
                    }
                    else
                    {
                        if (lastFrame.GetScoreFirst() == 0)
                        {
                            if (lastFrame.GetScoreThird() == 0)
                            {
                                Console.Write(" - | /| - |");
                            }
                            else
                            {
                                Console.Write(" - | /| {0} |", lastFrame.GetScoreThird());
                            }
                        }
                        else
                        {
                            if (lastFrame.GetScoreThird() == 0)
                            {
                                Console.Write(" {0} | /| - |", lastFrame.GetScoreFirst());
                            }
                            else
                            {
                                Console.Write(" {0} | /| {1} |", lastFrame.GetScoreFirst(), lastFrame.GetScoreThird());
                            }
                        }
                    }
                    total += lastFrame.GetScore();
                }
                else
                {
                    if (lastFrame.GetScoreFirst() == 0)
                    {
                        if (lastFrame.GetScoreSecond() == 0)
                        {
                            Console.Write(" - | -|   |");
                        }
                        else
                        {
                            Console.Write(" - | {0}|   |", lastFrame.GetScoreSecond());
                        }
                    }
                    else
                    {
                        if (lastFrame.GetScoreSecond() == 0)
                        {
                            Console.Write(" {0} | -|   |", lastFrame.GetScoreFirst());
                        }
                        else
                        {
                            Console.Write(" {0} | {1}|   |", lastFrame.GetScoreFirst(), lastFrame.GetScoreSecond());
                        }
                    }
                    total += lastFrame.GetScore();
                }
            }
            currentScore = total;
            Console.WriteLine(" {0, -10}| {1, -14}| {2, -11}", total, previousScore, total + previousScore);
        }