Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- internal class Program
- {
- static void Main(string[] args)
- {
- const string GoToWorkCommand = "GoToTheWork";
- const string CreateWorkerCommand = "CreateWorker";
- const string GoToSleepCommand = "GoToSleep";
- const string PushOnRedButtonCommand = "PushOnRedButton";
- Random random = new Random();
- int gameDay = 1;
- int resourceSpentToCreateWorker = 2;
- int wasteOfEnergyAtWork = 1;
- int energyIncreaseForWorker = 1;
- int minEnergyInitialValues = 6;
- int maxEnergyInitialValues = 11;
- int minResourcesInitialValues = 11;
- int maxResourcesInitialValues = 100;
- int minWorkersInitialValues = 1;
- int maxWorkersInitialValues = 5;
- int energy = random.Next(minEnergyInitialValues, maxEnergyInitialValues);
- int resources = random.Next(minResourcesInitialValues, maxResourcesInitialValues);
- int numberOfWorkers = 0;
- int livedDays = 1;
- bool isConditionsNotMet = true;
- bool isWorking = true;
- string? userInput;
- while (isConditionsNotMet)
- {
- int maxStartNumberOfWorkers = 5;
- Console.Write($"Введите кол-во рабочих от {minWorkersInitialValues} до {maxWorkersInitialValues}: ");
- numberOfWorkers = Convert.ToInt32(Console.ReadLine());
- if (numberOfWorkers > maxStartNumberOfWorkers || numberOfWorkers < minWorkersInitialValues)
- {
- numberOfWorkers = 0;
- Console.WriteLine("Вы ввели недопустимое количество рабочих." +
- "Попробуйте еще раз.\nНажмите любую клавишу...");
- Console.ReadKey();
- Console.Clear();
- }
- else
- {
- resources -= resourceSpentToCreateWorker * numberOfWorkers;
- isConditionsNotMet = false;
- }
- }
- Console.WriteLine($"Добро пожаловать в игру!\n" +
- $"У вас есть {resources} ресурсов, {energy} энергии и {numberOfWorkers} рабочих.\n" +
- $"Вам необходимо увеличивать кол-во ресурсов, но если показатель" +
- $"энергии или ресурсов будет равен 0, вы проиграли.\n" +
- $"На создание одного рабочего уходит {resourceSpentToCreateWorker} ресурсов.\n" +
- $"Отправив рабочих собирать ресурсы, вы тратите {wasteOfEnergyAtWork} энергии\n" +
- $"Для увеличения энергии отправьте рабочих спать. Так вы востановите " +
- $"по {energyIncreaseForWorker} энергии и прибавите {gameDay} игровой день.\n" +
- $"Хорошей игры!\n" +
- $"Нажмите любую клавишу...");
- Console.ReadKey();
- Console.Clear();
- while (isWorking)
- {
- Console.WriteLine($"День {livedDays}\n\nРабочие = {numberOfWorkers}\n" +
- $"Энергия = {energy}\nРесурсы = {resources}\n\n");
- Console.WriteLine($"Чтобы отправит работников собирать ресурсы введите - {GoToWorkCommand}.\n" +
- $"Чтобы добавить работника введите - {CreateWorkerCommand}\nДля восстановления энергии введите - {GoToSleepCommand}.\n" +
- $"Для выхода из программы введите - {PushOnRedButtonCommand}");
- Console.Write("Введите команду: ");
- userInput = Console.ReadLine();
- switch (userInput)
- {
- case GoToWorkCommand:
- int addResourceAfterWork = 2;
- energy -= wasteOfEnergyAtWork * numberOfWorkers;
- resources += addResourceAfterWork * numberOfWorkers;
- break;
- case CreateWorkerCommand:
- int createOneWorker = 1;
- resources -= resourceSpentToCreateWorker;
- numberOfWorkers += createOneWorker;
- break;
- case GoToSleepCommand:
- energy += energyIncreaseForWorker;
- livedDays += gameDay;
- break;
- case PushOnRedButtonCommand:
- Console.WriteLine("Вы выходите из игры.\nНажмите на любую клавишу...");
- Console.ReadKey();
- Console.Clear();
- isWorking = false;
- break;
- default:
- Console.WriteLine("Неизвестная команда. Обратите внимание на регистр." +
- "\nНажмите на любую клавишу...");
- Console.ReadKey();
- break;
- }
- Console.Clear();
- if (energy <= 0 || resources <= 0)
- {
- Console.WriteLine($"Вы проиграли. Продержались {livedDays} дней." +
- $"\nНажмите на любую клавишу...");
- Console.ReadKey();
- isWorking = false;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement