Untitled

Anonymous
plain_text
02/10/2026 6:21 PM
3.6 KB
10
Indexable
Random random = new Random();

Console.Write("Введите имя: ");
string name = Console.ReadLine();

Console.WriteLine("Привет, " + name + "!");

const int userGotTooMuchGold = 2000;

int gold = 0;
string weaponName = "клинок";
int weaponDamage = 10;
string weaponDescription = "Крутой клинок!";

while (gold < 20000) {

    var keyPressed = Console.Read();

    // логика добычи золота
    if (keyPressed == 'g' || keyPressed == 'G')
    {             
        int randomGoldGain;
        if (gold < userGotTooMuchGold)
        {
            randomGoldGain = random.Next(15, 501);    
        } 
        else
        {
            randomGoldGain = random.Next(15, 201);
        }
        gold += randomGoldGain;
        Console.WriteLine($"Мы получили {randomGoldGain} золота, теперь у нас {gold} золота.");
    };

    // логика покупки меча
    if (keyPressed == 'b' || keyPressed == 'B')
    {

        string[] availableWeaponsName = ["меч", "катана", "двуруч", "топор", "пика"];
        int[] availableWeaponsDamage =  [ 20,    50,       100,      150,     200];
        int[] availableWeaponsPrice =   [ 100,   1000,     3000,     5000,    10000];
        
        if (gold < availableWeaponsPrice[0])
        {
            Console.WriteLine("Недостаточно золота для покупки");   
        } 
        else
        {
            for (int i = availableWeaponsPrice.Length - 1; i >= 0; i--)
            {
                if (gold >= availableWeaponsPrice[i])
                {              
                    weaponName = availableWeaponsName[i];
                    weaponDamage = availableWeaponsDamage[i];
                    gold -= availableWeaponsPrice[i];
                    Console.WriteLine($"Вы купили замечательный {weaponName} за {availableWeaponsPrice[i]}!");
                    break;
                }
            } 
        }
    };

    // логика инвенторя
    if (keyPressed == 'i' || keyPressed == 'I')
    {
        Console.WriteLine("\n");
        Console.WriteLine($"=== {name} ===");
        Console.WriteLine($"Экипировано: {weaponName} ({weaponDamage})");
        Console.WriteLine($"Золото: {gold}");
    }

    // выход из программы
    if (keyPressed == 'q' || keyPressed == 'Q')
    {     
        if (gold < userGotTooMuchGold)
        {
            Console.WriteLine("\nМало золота!");
        } 
        else 
        {
            break;
        }
    };

};

Console.WriteLine($"\n{name} заработал {gold} золота");
Editor is loading...
Leave a Comment