Софтуерно Инженерство
Loading...
Borislav_Vulkov avatar Borislav_Vulkov 54 Точки

Здравейте и от мен,
ето едно нестандартно решение. Гледайки количеството код не мисля, че е по-удачния начин за рашаване на задачата но ми беше интерсно да го опитам.
Накрадко използвам безкраен While цикъл, който го прекъсвам при възникването на команди "End of game" или "Number wars". Решението използва и два метода. Първия "Winner" определя името на победителя от всяко раздаване или рвъща "Number wars" ако точките са еднакви. Втория метод "CalculatePoints" изчислява точките които трябва да бъдат добавени към точките на победителя при разглежданото раздаване. 

=========

using System;

namespace NumberWars
{
    class NumberWars
    {
        static void Main()
        {
            string firstPlayer = Console.ReadLine();
            string secondPlayer = Console.ReadLine();

            int firstPlayerPoints = 0;
            int secondPlayerPoints = 0;

            int firstPoints = 0;
            int secondPoints = 0;

            string comand1 = string.Empty;
            string comand2 = string.Empty;
            string winner = string.Empty;

            while (true)
            {
                comand1 = Console.ReadLine();
                if (comand1 == "End of game")
                {
                    break;
                }
                else
                {
                    firstPoints = int.Parse(comand1);
                }

                comand2 = Console.ReadLine();
                if (comand2 == "End of game")
                {
                    break;
                }
                else
                {
                    secondPoints = int.Parse(comand2);
                }

                winner = Winner(firstPlayer, secondPlayer, firstPoints, secondPoints);

                if (winner == firstPlayer)
                {
                    firstPlayerPoints += CalculatePoints(firstPoints, secondPoints);
                }
                else if (winner == secondPlayer)
                {
                    secondPlayerPoints += CalculatePoints(firstPoints, secondPoints);
                }
                else
                {
                    firstPoints = int.Parse(Console.ReadLine());
                    secondPoints = int.Parse(Console.ReadLine());
                    winner = Winner(firstPlayer, secondPlayer, firstPoints, secondPoints);
                    Console.WriteLine("Number wars!");
                    if (winner == firstPlayer)
                    {
                        Console.WriteLine("{0} is winner with {1} points", firstPlayer, firstPlayerPoints);
                    }
                    else
                    {
                        Console.WriteLine("{0} is winner with {1} points", secondPlayer, secondPlayerPoints);
                    }
                    break;
                }
            }

            if (comand1 == "End of game" || comand2 == "End of game")
            {
                Console.WriteLine("{0} has {1} points", firstPlayer, firstPlayerPoints);
                Console.WriteLine("{0} has {1} points", secondPlayer, secondPlayerPoints);
            }
        }

        static string Winner(string firstPlayer, string secondPlayer, int firstPoints, int secondPoints)
        {
            if (firstPoints > secondPoints)
            {
                return firstPlayer;
            }
            else if (secondPoints > firstPoints)
            {
                return secondPlayer;
            }
            else
            {
                return "Number wars";
            }
        }

        static int CalculatePoints(int firstPoints, int secondPoints)
        {
            int Calculate = firstPoints - secondPoints;
            if (Calculate < 0)
            {
                Calculate *= -1;
            }
            return Calculate;
        }
    }
}
 

1
Laus1986 avatar Laus1986 10 Точки

I liked most of the games which gives the opertunity of making the money in simple way.But earning money from the casino games is not so easy task which can help anyone to earn the money through the trading in casino games with the best https://icasinoreviews.info/bank-transfer-casino-nz/ site steps which most of the people follow for making more money.

0
krum_43 avatar krum_43 280 Точки

Gambling is a vice.

0