ConsoleGamesWASM
247 строк · 8.2 Кб
1using System;2using System.Threading.Tasks;3
4namespace Website.Games.Bodka_v_Bare;5
6public class Bodka_v_Bare7{
8public readonly BlazorConsole Console = new();9
10public async Task Run()11{12await Console.WriteLine("После истории с Василием, Богдан потерял смысл в своих кусях.");13await Console.WriteLine("Как любой уважающий себя мужчина, он крепко решил взяться за свою жизнь и...");14await Console.WriteLine("Пошёл в бар...");15await Console.WriteLine("В баре он познакомился с Дмитрием, который выплачивает кредит и подрабатывает барменом");16await Console.WriteLine("Дмитрий не был одарённым барменом, но был аккуратен. Встретив Бодю, он вспомнил прошлую свою посетительницу");17await Console.WriteLine("Паучиху Хиху");18await Console.WriteLine("Он рассказал Богдану, что Хиха очень позитивная паучиха, но ходит в бар не часто.");19await Console.WriteLine("И хотя Богдан надеялся её увидеть, после пяток Василия он стал гурманом и \nхотел пробовать каждый раз новый коктейль от Дмитрия");20await Console.WriteLine("История продолжается в баре...");21await Console.WriteLine();22await Console.WriteLine("Правила игры:");23await Console.WriteLine("Богдану нужно просидеть в баре 20 дней.");24await Console.WriteLine("Вы играете за Дмитрия. Ваша задача — готовить коктейли по рецепту без ошибок");25await Console.WriteLine("Рецепт — это набор символов, который нужно ввести на клавиатуре. У вас 5 жизней.");26await Console.WriteLine("На лёгком уровне сложности меньше символов, чем на высоком");27await Console.WriteLine("Удачи!");28await Console.WriteLine();29await Console.WriteLine("Выберите уровень сложности. 1 — лёгкий, 2 — сложный.");30string level = await Console.ReadLine(true);31
32while ((level != "1") || (level != "2"))33{34if (level == "1")35{36int day = 1;37int health = 5;38bool flag = true;39string drinks = "0123456789abcdefghijklmnopqrstuvwxyz";40string drink = "";41
42Random rand = new Random();43
44while (flag)45{46await Console.WriteLine();47await Console.WriteLine($"День {day}. Здоровье {health}.");48for (int i = 0; i < day; i++)49{50int index = rand.Next(drinks.Length);51string b = drinks[index].ToString();52drink += b;53}54await Console.WriteLine(drink);55string barmen = await Console.ReadLine(true);56if (barmen == drink)57{58drink = "";59}60else61{62drink = "";63health -= 1;64}65
66if ((health <= 0) || (day >= 20))67{68flag = false;69if (health <= 0)70{71await Console.WriteLine();72await Console.WriteLine("Вы проиграли");73await Console.WriteLine("Богдан так и не встретил Хиху");74await Console.WriteLine("Попробовать снова? y — да, n — нет");75string end = await Console.ReadLine(true);76while ((end != "y") || (end != "n"))77{78if (end == "y")79{80flag = true;81health = 5;82day = 0;83drink = "";84break;85}86else if (end == "n")87{88await Console.WriteLine();89await Console.WriteLine("Жаль");90await Console.WriteLine("Тогда пока!");91break;92}93else94{95await Console.WriteLine("Попробовать снова? y — да, n — нет");96end = await Console.ReadLine(true);97}98}99}100
101if (day >= 20)102{103await Console.WriteLine();104await Console.WriteLine("Вы выиграли");105await Console.WriteLine("Богдан встретил паучиху Хиху. Дмитрий оплатил кредит благодаря деньгам паучков! Идилия!)");106await Console.WriteLine("Попробовать снова? y — да, n — нет");107string end = await Console.ReadLine(true);108while ((end != "y") || (end != "n"))109{110if (end == "y")111{112flag = true;113health = 5;114day = 0;115drink = "";116break;117}118else if (end == "n")119{120await Console.WriteLine();121await Console.WriteLine("Жаль");122await Console.WriteLine("Тогда пока!");123break;124}125else126{127await Console.WriteLine("Попробовать снова? y — да, n — нет");128end = await Console.ReadLine(true);129}130}131}132}133day += 1;134}135break;136}137else if (level == "2")138{139int day = 1;140int health = 5;141bool flag = true;142string drinks = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";143string drink = "";144
145Random rand = new Random();146
147while (flag)148{149await Console.WriteLine();150await Console.WriteLine($"День {day}. Здоровье {health}.");151for (int i = 0; i < day; i++)152{153int index = rand.Next(drinks.Length);154string b = drinks[index].ToString();155drink += b;156}157await Console.WriteLine(drink);158string barmen = await Console.ReadLine(true);159if (barmen == drink)160{161drink = "";162}163else164{165drink = "";166health -= 1;167}168
169if ((health <= 0) || (day >= 20))170{171flag = false;172if (health <= 0)173{174await Console.WriteLine();175await Console.WriteLine("Вы проиграли");176await Console.WriteLine("Богдан так и не встретил Хиху");177await Console.WriteLine("Попробовать снова? y — да, n — нет");178string end = await Console.ReadLine(true);179while ((end != "y") || (end != "n"))180{181if (end == "y")182{183flag = true;184health = 5;185day = 0;186drink = "";187break;188}189else if (end == "n")190{191await Console.WriteLine();192await Console.WriteLine("Жаль");193await Console.WriteLine("Тогда пока!");194break;195}196else197{198await Console.WriteLine("Попробовать снова? y — да, n — нет");199end = await Console.ReadLine(true);200}201}202}203
204if (day >= 20)205{206await Console.WriteLine();207await Console.WriteLine("Вы выиграли");208await Console.WriteLine("Богдан встретил паучиху Хиху. Дмитрий оплатил кредит благодаря деньгам паучков! Идилия!)");209await Console.WriteLine("Попробовать снова? y — да, n — нет");210string end = await Console.ReadLine(true);211while ((end != "y") || (end != "n"))212{213if (end == "y")214{215flag = true;216health = 5;217day = 0;218drink = "";219break;220}221else if (end == "n")222{223await Console.WriteLine();224await Console.WriteLine("Жаль");225await Console.WriteLine("Тогда пока!");226break;227}228else229{230await Console.WriteLine("Попробовать снова? y — да, n — нет");231end = await Console.ReadLine(true);232}233}234}235}236day += 1;237}238break;239}240else241{242await Console.WriteLine("Попробуй снова. 1 — лёгкий, 2 — сложный.");243level = await Console.ReadLine(true);244}245}246}247}