С# Написать функцию, ChooseVariant(maxForFirstVariant, maxForSecondVariant), которая будет генерировать случайное число и возвращать первый или второй вариант действия.
static string[] variants = {
"Начало дня",
"Поднимаюсь с кровати с левой ноги",
"Поднимаюсь с кровати с правой ноги",
"Падаю с кровати",
"Пробежка по аллее",
"Физ. зарядка на балконе",
"Варю крепкий кофе",
"Готовлю плотный завтрак",
"Достаю вчерашний салат",
"Спустило колесо",
"Добираюсь на работу пешком",
"Добираюсь на работу на маршрутке",
"Добираюсь на работу на своем авто",
"Прихожу вовремя",
"Опаздываю на работу",
"Конец"
};
static string[] resultActionList;
Из массива variants мы будем выбирать действия, а в массив resultActionList их записывать согласно диаграмме на последней странице.
Что нужно сделать на этом этапе:
Написать функцию ChooseAction(previousAction), которая будет выбирать следующее действие, основываясь на том, какое было предыдущее действие. Так же функция должна записывать выбранное действие в массив resultActionList.
Указания:
Действия “Начало дня” и “Конец” не обязательно записывать в массив resultActionList, так как одно является просто стартом сценария, а другое - его концом
Нужно использовать switch…case для выбора следующего действия
Ответы на вопрос
static string[] variants = { "Поднимаюсь с кровати с левой ноги", "Поднимаюсь с кровати с правой ноги", "Падаю с кровати", "Пробежка по аллее", "Физ. зарядка на балконе", "Варю крепкий кофе", "Готовлю плотный завтрак", "Достаю вчерашний салат", "Спустило колесо", "Добираюсь на работу пешком", "Добираюсь на работу на маршрутке", "Добираюсь на работу на своем авто", "Прихожу вовремя", "Опаздываю на работу" };
static string[] resultActionList;
static string ChooseAction(string previousAction)
{
string nextAction = "";
switch (previousAction)
{
case "Начало дня":
nextAction = variants[0];
break;
case "Поднимаюсь с кровати с левой ноги":
nextAction = variants[1];
break;
case "Поднимаюсь с кровати с правой ноги":
nextAction = variants[2];
break;
case "Падаю с кровати":
nextAction = variants[3];
break;
case "Пробежка по аллее":
nextAction = variants[4];
break;
case "Физ. зарядка на балконе":
nextAction = variants[5];
break;
case "Варю крепкий кофе":
nextAction = variants[6];
break;
case "Готовлю плотный завтрак":
nextAction = variants[7];
break;
case "Достаю вчерашний салат":
nextAction = variants[8];
break;
case "Спустило колесо":
nextAction = variants[9];
break;
case "Добираюсь на работу пешком":
nextAction = variants[10];
break;
case "Добираюсь на работу на маршрутке":
nextAction = variants[11];
break;
case "Добираюсь на работу на своем авто":
nextAction = variants[12];
break;
case "Прихожу вовремя":
nextAction = variants[13];
break;
case "Опаздываю на работу":
nextAction = "Конец";
break;
case "Конец":
nextAction = "Конец";
break;
}
return nextAction;
}
static void Main(string[] args)
{
string previousAction = "Начало дня";
string nextAction = "";
int i = 0;
while (nextAction != "Конец")
{
nextAction = ChooseAction(previousAction);
previousAction = nextAction;
i++;
}
resultActionList = new string[i];
previousAction = "Начало дня";
nextAction = "";
i = 0;
while (nextAction != "Конец")
{
nextAction = ChooseAction(previousAction);
previousAction = nextAction;
resultActionList[i] = nextAction;
i++;
}
foreach (string action in resultActionList)
{
Console.WriteLine(action);
}
Console.ReadKey();
}
Пример вывода на экран:
# | Действие
---|------------------------------------
1 | Поднимаюсь с кровати с левой ноги
2 | Падаю с кровати
3 | Варю крепкий кофе
4 | Добираюсь на работу на своем авто
5 | Опаздываю на работу
6 | Конец