View difference between Paste ID: wUTyzUKm and dijax3Dr
SHOW: | | - or go back to the newest paste.
1
using System;
2
3
namespace C_sharp_Light
4
{
5
    class Program
6
    {
7
        static void Main(string[] args)
8
        {
9
            uint coins, purchasedCrystals;
10
            uint crystalPrice = 25;
11
12-
        // проверка золота
12+
            // проверка золота
13-
        start:
13+
            while (true)
14-
            Console.WriteLine("Вы смотрите сколько у вас золота");
14+
15-
            Console.Write("Вы находите у себя золотые монеты в количестве - ");
15+
                Console.WriteLine("Вы смотрите сколько у вас золота");
16-
            if (!uint.TryParse(Console.ReadLine(), out coins))
16+
                Console.Write("Вы находите у себя золотые монеты в количестве - ");
17
                if (!uint.TryParse(Console.ReadLine(), out coins))
18-
                ErrorInvalidInput("Некорректное значение. Попробуйте ещё раз - нажмите любую клавишу");
18+
                {
19-
                goto start;
19+
                    ErrorInvalidInput("Некорректное значение. Попробуйте ещё раз - нажмите любую клавишу");
20
                    continue;
21
                }
22-
        //Покупка кристаллов
22+
                break;
23-
        buyCrystal:
23+
24-
            Console.WriteLine($"\nВам предлагают купить кристаллы по цене {crystalPrice} за одну штуку. У вас {coins} монет.");
24+
25-
            Console.Write("Сколько кристаллов вы хотите купить? - ");
25+
            //Покупка кристаллов
26-
            if (!uint.TryParse(Console.ReadLine(), out purchasedCrystals))
26+
            while (true)
27
            {
28-
                ErrorInvalidInput("Некорректно введено число. Попробуйте снова!");
28+
                Console.WriteLine($"\nВам предлагают купить кристаллы по цене {crystalPrice} за одну штуку. У вас {coins} монет.");
29-
                goto buyCrystal;
29+
                Console.Write("Сколько кристаллов вы хотите купить? - ");
30
                if (!uint.TryParse(Console.ReadLine(), out purchasedCrystals))
31-
            if (purchasedCrystals * crystalPrice > coins)
31+
                {
32
                    ErrorInvalidInput("Некорректно введено число. Попробуйте снова!");
33-
                ErrorInvalidInput($"У вас слишком мало денег для покупки. Попробуйте ещё!\n" +
33+
                    continue;
34-
                    $"Максимум можете купить - {coins / crystalPrice} кристаллов");
34+
                }
35-
                goto buyCrystal;
35+
                if (purchasedCrystals * crystalPrice > coins)
36
                {
37
                    uint maxCrystalForBuy = coins / crystalPrice;
38
                    ErrorInvalidInput($"У вас слишком мало денег для покупки. Попробуйте ещё!\n" +
39
                        $"Максимум можете купить - {maxCrystalForBuy} кристаллов");
40
                    continue;
41
                }
42
                break;
43
            }
44
45
            // Результат
46
            if (Convert.ToBoolean(purchasedCrystals))
47
            {
48
                coins -= crystalPrice * purchasedCrystals;
49
                Console.WriteLine($"\nПоздравляю вы совершили покупку!");
50
                Console.WriteLine($"Теперь у вас {purchasedCrystals} кристаллов и {coins} монет");
51
                Console.ReadKey();
52
            }
53
            else
54
            {
55
                Console.WriteLine($"\nВы отказались от покупки!");
56
                Console.WriteLine($"Вы оставили у себя монеты в количестве {coins} штук и ничего не купили.");
57
                Console.ReadKey();
58
            }
59
        }
60
61
        static private void ErrorInvalidInput(string textError) 
62
        {
63
            Console.WriteLine(textError);
64
            Console.ReadKey();
65
            Console.Clear();
66
        }
67
    }
68
}