ConsoleGamesWASM

Форк
0
247 строк · 8.2 Кб
1
using System;
2
using System.Threading.Tasks;
3

4
namespace Website.Games.Bodka_v_Bare;
5

6
public class Bodka_v_Bare
7
{
8
	public readonly BlazorConsole Console = new();
9

10
	public async Task Run()
11
	{
12
		await Console.WriteLine("После истории с Василием, Богдан потерял смысл в своих кусях.");
13
		await Console.WriteLine("Как любой уважающий себя мужчина, он крепко решил взяться за свою жизнь и...");
14
		await Console.WriteLine("Пошёл в бар...");
15
		await Console.WriteLine("В баре он познакомился с Дмитрием, который выплачивает кредит и подрабатывает барменом");
16
		await Console.WriteLine("Дмитрий не был одарённым барменом, но был аккуратен. Встретив Бодю, он вспомнил прошлую свою посетительницу");
17
		await Console.WriteLine("Паучиху Хиху");
18
		await Console.WriteLine("Он рассказал Богдану, что Хиха очень позитивная паучиха, но ходит в бар не часто.");
19
		await Console.WriteLine("И хотя Богдан надеялся её увидеть, после пяток Василия он стал гурманом и \nхотел пробовать каждый раз новый коктейль от Дмитрия");
20
		await Console.WriteLine("История продолжается в баре...");            
21
		await Console.WriteLine();
22
		await Console.WriteLine("Правила игры:");
23
		await Console.WriteLine("Богдану нужно просидеть в баре 20 дней.");
24
		await Console.WriteLine("Вы играете за Дмитрия. Ваша задача —  готовить коктейли по рецепту без ошибок");
25
		await Console.WriteLine("Рецепт — это набор символов, который нужно ввести на клавиатуре. У вас 5 жизней.");
26
		await Console.WriteLine("На лёгком уровне сложности меньше символов, чем на высоком");
27
		await Console.WriteLine("Удачи!");
28
		await Console.WriteLine();
29
		await Console.WriteLine("Выберите уровень сложности. 1 — лёгкий, 2 — сложный.");
30
		string level = await Console.ReadLine(true);
31

32
		while ((level != "1") || (level != "2"))
33
		{
34
			if (level == "1")
35
			{
36
				int day = 1;
37
				int health = 5;
38
				bool flag = true;
39
				string drinks = "0123456789abcdefghijklmnopqrstuvwxyz";
40
				string drink = "";
41

42
				Random rand = new Random();
43

44
				while (flag)
45
				{
46
					await Console.WriteLine();
47
					await Console.WriteLine($"День {day}. Здоровье {health}.");
48
					for (int i = 0; i < day; i++)
49
					{
50
						int index = rand.Next(drinks.Length);
51
						string b = drinks[index].ToString();
52
						drink += b;
53
					}
54
					await Console.WriteLine(drink);
55
					string barmen = await Console.ReadLine(true);
56
					if (barmen == drink)
57
					{
58
						drink = "";
59
					}
60
					else
61
					{
62
						drink = "";
63
						health -= 1;
64
					}
65

66
					if ((health <= 0) || (day >= 20))
67
					{
68
						flag = false;
69
						if (health <= 0)
70
						{
71
							await Console.WriteLine();
72
							await Console.WriteLine("Вы проиграли");
73
							await Console.WriteLine("Богдан так и не встретил Хиху");
74
							await Console.WriteLine("Попробовать снова? y — да, n — нет");
75
							string end = await Console.ReadLine(true);
76
							while ((end != "y") || (end != "n"))
77
							{
78
								if (end == "y")
79
								{
80
									flag = true;
81
									health = 5;
82
									day = 0;
83
									drink = "";
84
									break;
85
								}
86
								else if (end == "n")
87
								{
88
									await Console.WriteLine();
89
									await Console.WriteLine("Жаль");
90
									await Console.WriteLine("Тогда пока!");
91
									break;
92
								}
93
								else
94
								{
95
									await Console.WriteLine("Попробовать снова? y — да, n — нет");
96
									end = await Console.ReadLine(true);
97
								}
98
							}
99
						}
100
						
101
						if (day >= 20)
102
						{
103
							await Console.WriteLine();
104
							await Console.WriteLine("Вы выиграли");
105
							await Console.WriteLine("Богдан встретил паучиху Хиху. Дмитрий оплатил кредит благодаря деньгам паучков! Идилия!)");
106
							await Console.WriteLine("Попробовать снова? y — да, n — нет");
107
							string end = await Console.ReadLine(true);
108
							while ((end != "y") || (end != "n"))
109
							{
110
								if (end == "y")
111
								{
112
									flag = true;
113
									health = 5;
114
									day = 0;
115
									drink = "";
116
									break;
117
								}
118
								else if (end == "n")
119
								{
120
									await Console.WriteLine();
121
									await Console.WriteLine("Жаль");
122
									await Console.WriteLine("Тогда пока!");
123
									break;
124
								}
125
								else
126
								{
127
									await Console.WriteLine("Попробовать снова? y — да, n — нет");
128
									end = await Console.ReadLine(true);
129
								}
130
							}
131
						}
132
					}
133
					day += 1;
134
				} 
135
				break;
136
			}
137
			else if (level == "2")
138
			{
139
				int day = 1;
140
				int health = 5;
141
				bool flag = true;
142
				string drinks = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
143
				string drink = "";
144

145
				Random rand = new Random();
146

147
				while (flag)
148
				{
149
					await Console.WriteLine();
150
					await Console.WriteLine($"День {day}. Здоровье {health}.");
151
					for (int i = 0; i < day; i++)
152
					{
153
						int index = rand.Next(drinks.Length);
154
						string b = drinks[index].ToString();
155
						drink += b;
156
					}
157
					await Console.WriteLine(drink);
158
					string barmen = await Console.ReadLine(true);
159
					if (barmen == drink)
160
					{
161
						drink = "";
162
					}
163
					else
164
					{
165
						drink = "";
166
						health -= 1;
167
					}
168
					
169
					if ((health <= 0) || (day >= 20))
170
					{
171
						flag = false;
172
						if (health <= 0)
173
						{
174
							await Console.WriteLine();
175
							await Console.WriteLine("Вы проиграли");
176
							await Console.WriteLine("Богдан так и не встретил Хиху");
177
							await Console.WriteLine("Попробовать снова? y — да, n — нет");
178
							string end = await Console.ReadLine(true);
179
							while ((end != "y") || (end != "n"))
180
							{
181
								if (end == "y")
182
								{
183
									flag = true;
184
									health = 5;
185
									day = 0;
186
									drink = "";
187
									break;
188
								}
189
								else if (end == "n")
190
								{
191
									await Console.WriteLine();
192
									await Console.WriteLine("Жаль");
193
									await Console.WriteLine("Тогда пока!");
194
									break;
195
								}
196
								else
197
								{
198
									await Console.WriteLine("Попробовать снова? y — да, n — нет");
199
									end = await Console.ReadLine(true);
200
								}
201
							}
202
						}
203
						
204
						if (day >= 20)
205
						{
206
							await Console.WriteLine();
207
							await Console.WriteLine("Вы выиграли");
208
							await Console.WriteLine("Богдан встретил паучиху Хиху. Дмитрий оплатил кредит благодаря деньгам паучков! Идилия!)");
209
							await Console.WriteLine("Попробовать снова? y — да, n — нет");
210
							string end = await Console.ReadLine(true);
211
							while ((end != "y") || (end != "n"))
212
							{
213
								if (end == "y")
214
								{
215
									flag = true;
216
									health = 5;
217
									day = 0;
218
									drink = "";
219
									break;
220
								}
221
								else if (end == "n")
222
								{
223
									await Console.WriteLine();
224
									await Console.WriteLine("Жаль");
225
									await Console.WriteLine("Тогда пока!");
226
									break;
227
								}
228
								else
229
								{
230
									await Console.WriteLine("Попробовать снова? y — да, n — нет");
231
									end = await Console.ReadLine(true);
232
								}
233
							}
234
						}
235
					}
236
					day += 1;
237
				}
238
				break;
239
			}
240
			else
241
			{
242
				await Console.WriteLine("Попробуй снова. 1 — лёгкий, 2 — сложный.");
243
				level = await Console.ReadLine(true);
244
			}
245
		}
246
	}
247
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.