1 class Program
2 {
3 public static int[] Map = new int[305];
4 public static int[] PlayerPos = new int[] { 1, 1 };
5 public static string[] PlayerName = new string[2];
6 public static bool[] result = new bool[2] { false, false };
7 static void Main(string[] args)
8 {
9 string YesOrNo = "";
10 do
11 {
12 // UI显示
13 showUi();
14 // 判断玩家姓名:
15 DecidePlayerName();
16 Console.ReadKey();
17 Console.Clear();
18 // 选择关卡
19 string msg = "请输入难度等级:";
20 CustomsPass(ReadInt(msg, 1, 6));
21
22 //画地图
23 DrawMap();
24 // 玩家行动了
25 PlayerActSequence();
26 Console.WriteLine("您想要再来一局吗?(y/n)");
27 YesOrNo = Console.ReadLine();
28 if (YesOrNo.Equals("n", StringComparison.OrdinalIgnoreCase))
29 {
30 break;
31 }
32
33 } while (true);
34 Console.WriteLine("谢谢!");
35 Console.ReadKey();
36 }
37
38 /// <summary>
39 /// UI界面显示
40 /// </summary>
41 public static void showUi()
42 {
43 #region 符号
44
45
46 /*Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я ё‐ – — ― ‖ ‘ ’ “ ” ‥ … ‰ ′ ″ ‵ ※  ̄ € ℃ ℅ ℉ № ℡ Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ Ⅺ Ⅻ ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ ⅹ ← ↑ → ↓ ↖ ↗ ↘ ↙ ∈ ∏ ∑ ∕ ° √ ∝ ∞ ∟ ∠ ∣ ∥ ∧ ∨ ∩ ∪ ∫ ∮ ∴ ∵ ∶ ∷ ~ ∽ ≈ ≌ ≒ ≠ ≡ ≤ ≥ ≦ ≧ ≮ ≯ ⊕ ⊙ ⊥ ⊿ ⌒ ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇ ⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛ ─ ━ │ ┃ ┄ ┅ ┆ ┇ ┈ ┉ ┊ ┋ ┌ ┍ ┎ ┏ ┐ ┑ ┒ ┓ └ ┕ ┖ ┗ ┘ ┙ ┚ ┛ ├ ┝ ┞ ┟ ┠ ┡ ┢ ┣ ┤ ┥ ┦ ┧ ┨ ┩ ┪ ┫ ┬ ┭ ┮ ┯ ┰ ┱ ┲ ┳ ┴ ┵ ┶ ┷ ┸ ┹ ┺ ┻ ┼ ┽ ┾ ┿ ╀ ╁ ╂ ╃ ╄ ╅ ╆ ╇ ╈ ╉ ╊ ╋ ═ ║ ╒ ╓ ╔ ╕ ╖ ╗ ╘ ╙ ╚ ╛ ╜ ╝ ╞ ╟ ╠ ╡ ╢ ╣ ╤ ╥ ╦ ╧ ╨ ╩ ╪ ╫ ╬ ╭ ╮ ╯ ╰ ╱ ╲ ╳ ▁ ▂ ▃ ▄ ▅ ▆ ▇ █ ▉ ▊ ▋ ▌ ▍ ▎ ▏ ▓ ▔ ▕ ■ □ ▲ △ ▼ ▽ ◆ ◇ ○ ◎ ● ◢ ◣ ◤ ◥ ★ ☆ ☉ ♀ ♂、 。 〃 々 〆 〇 〈 〉 《 》 「 」 『 』 【 】 〒 〓 〔 〕 〖 〗 〝 〞 〡 〢 〣 〤 〥 〦 〧 〨 〩 ぁ あ ぃ い ぅ う ぇ え ぉ お か が き ぎ く ぐ け げ こ ご さ ざ し じ す ず せ ぜ そ ぞ た だ ち ぢ っ つ づ て で と ど な に ぬ ね の は ば ぱ ひ び ぴ ふ ぶ ぷ へ べ ぺ ほ ぼ ぽ ま み む め も ゃ や ゅ ゆ ょ よ ら り る れ ろ ゎ わ ゐ ゑ を ん ゛ ゜ ゝ ゞ ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ ギ ク グ ケ ゲ コ ゴ サ ザ シ ジ ス ズ セ ゼ ソ ゾ タ ダ チ ヂ ッ ツ ヅ テ デ ト ド ナ ニ ヌ ネ ノ ハ バ パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ ポ マ ミ ム メ モ ャ ヤ ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ ヰ ヱ ヲ ン ヴ ヵ ヶ ー ヽ ヾ ㄅ ㄆ ㄇ ㄈ ㄉ ㄊ ㄋ ㄌ ㄍ ㄎ ㄏ ㄐ ㄑ ㄒ ㄓ ㄔ ㄕ ㄖ ㄗ ㄘ ㄙ ㄚ ㄛ ㄜ ㄝ ㄞ ㄟ ㄠ ㄡ ㄢ ㄣ ㄤ ㄥ ㄦ ㄧ ㄨ ㄩ ㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩ ㈱ ㊣ ㎎ ㎏ ㎜ ㎝ ㎞ ㎡ ㏄ ㏎ ㏑ ㏒ ㏕ ︰ ︱ ︳ ︴ ︵ ︶ ︷ ︸ ︹ ︺ ︻ ︼ ︽ ︾ ︿ ﹀ ﹁ ﹂ ﹃ ﹄ ﹉
47 * */
48 #endregion
49 Console.WriteLine(@"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓");
50 Console.WriteLine(@"┃ 简简单单丶小生活 ┃");
51 Console.WriteLine(@"┃ ╔═══════════════╗ ╔═════════════════╗┃");
52 Console.WriteLine(@"┃ ║ */. . . * 房子 . ║ ║ 看日出 ║┃");
53 Console.WriteLine(@"┃ ║ .\* . [] *__║ ║ ﹎ ┈ ┈ .o┈ ﹎ ﹎.. ○ ║┃");
54 Console.WriteLine(@"┃ ║ */ . ./\~~~~~~~~~~~~'\. |◆║ ║ ﹎┈﹎ ● ○ .﹎ ﹎o▂▃▅▆ ║┃");
55 Console.WriteLine(@"┃ ║ \* ,/,..,\,...........,\.◆║ ║ ┈ ┈ /█\/▓\ ﹎ ┈ ﹎﹎ ┈﹎ ║┃");
56 Console.WriteLine(@"┃ ║ || ..▎# ▎田 田 ▎ | ▎◆║ ║ ▅▆▇█████▇▆▅▃▂┈﹎ ║┃");
57 Console.WriteLine(@"┃ ║ || &&▎ ▎ ▎'|'▎ o║ ║ ██████████████▅▃ ║┃");
58 Console.WriteLine(@"┃ ║ || ##■■■■■■■■■〓 ║ ║ ║┃");
59 Console.WriteLine(@"┃ ╚═══════════════╝ ╚═════════════════╝┃");
60 Console.WriteLine(@"┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛");
61 }
62 /// <summary>
63 /// 玩家行动顺序
64 /// </summary>
65 public static void PlayerActSequence()
66 {
67 while (true)
68 {
69 if (PlayerPos[0] < 305 && PlayerPos[1] < 305)
70 {
71 PlayerAct(0);
72 }
73 else
74 {
75 result[0] = false;
76 }
77 if (PlayerPos[0] == 305)
78 {
79 Console.Clear();
80 Win();
81 break;
82 }
83 if (PlayerPos[1] == 305)
84 {
85 Console.Clear();
86 Win();
87 break;
88 }
89 if (result[1] == false)
90 {
91 PlayerAct(1);
92 }
93 else
94 {
95 result[1] = false;
96 }
97 }
98 }
99 /// <summary>
100 /// 胜利图案
101 /// </summary>
102 public static void Win()
103 {
104 Console.WriteLine(@"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓");
105 Console.WriteLine(@"┃ 简简单单丶小生活 ┃");
106 Console.WriteLine(@"┃ ╔═══════════════╗ ╔═════════════════╗┃");
107 Console.WriteLine(@"┃ ║ */. . . * 房子 . ║ ║ 看日出 ║┃");
108 Console.WriteLine(@"┃ ║ .\* . [] *__║ ║ ﹎ ┈ ┈ .o┈ ﹎ ﹎.. ○ ║┃");
109 Console.WriteLine(@"┃ ║ */ . ./\~~~~~~~~~~~~'\. |◆║ ║ ﹎┈﹎ ● ○ .﹎ ﹎o▂▃▅▆ ║┃");
110 Console.WriteLine(@"┃ ║ \* ,/,..,\,...........,\.◆║ ║ ┈ ┈ /█\/▓\ ﹎ ┈ ﹎﹎ ┈﹎ ║┃");
111 Console.WriteLine(@"┃ ║ || ..▎# ▎田 田 ▎ | ▎◆║ ║ ▅▆▇█████▇▆▅▃▂┈﹎ ║┃");
112 Console.WriteLine(@"┃ ║ || &&▎ ▎ ▎'|'▎ o║ ║ ██████████████▅▃ ║┃");
113 Console.WriteLine(@"┃ ║ || ##■■■■■■■■■〓 ║ ║ ║┃");
114 Console.WriteLine(@"┃ ╚═══════════════╝ ╚═════════════════╝┃");
115 Console.WriteLine(@"┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛");
116 }
117 /// <summary>
118 /// 玩家行动方法
119 /// </summary>
120 /// <param name="playerNumber">玩家代码坐标</param>
121 public static void PlayerAct(int playerNumber)
122 {
123
124 string temp = "";
125 Console.ForegroundColor = ConsoleColor.Green;
126 Console.WriteLine("按任意键玩家{0}开始掷骰子...", PlayerName[playerNumber]);
127 Random r = new Random();
128 int num = r.Next(1, 7);
129 ConsoleKeyInfo key = Console.ReadKey(true);
130 #region 特殊代码
131 if (key.Key == ConsoleKey.X)
132 {
133 key = Console.ReadKey(true);
134 if (key.Key == ConsoleKey.I)
135 {
136 key = Console.ReadKey(true);
137 if (key.Key == ConsoleKey.A)
138 {
139 key = Console.ReadKey(true);
140 if (key.Key == ConsoleKey.O)
141 {
142 key = Console.ReadKey(true);
143 if (key.Key == ConsoleKey.Y)
144 {
145 key = Console.ReadKey(true);
146 if (key.Key == ConsoleKey.A)
147 {
148 key = Console.ReadKey(true);
149 if (key.Key == ConsoleKey.N)
150 {
151 key = Console.ReadKey(true);
152 if (key.Key == ConsoleKey.G)
153 {
154 key = Console.ReadKey(true);
155 if (key.Key == ConsoleKey.S)
156 {
157 key = Console.ReadKey(true);
158 if (key.Key == ConsoleKey.H)
159 {
160 key = Console.ReadKey(true);
161 if (key.Key == ConsoleKey.I)
162 {
163 key = Console.ReadKey(true);
164 if (key.Key == ConsoleKey.Z)
165 {
166 key = Console.ReadKey(true);
167 if (key.Key == ConsoleKey.U)
168 {
169 key = Console.ReadKey(true);
170 if (key.Key == ConsoleKey.I)
171 {
172 key = Console.ReadKey(true);
173 if (key.Key == ConsoleKey.C)
174 {
175 key = Console.ReadKey(true);
176 if (key.Key == ConsoleKey.H)
177 {
178 key = Console.ReadKey(true);
179 if (key.Key == ConsoleKey.U)
180 {
181 key = Console.ReadKey(true);
182 if (key.Key == ConsoleKey.N)
183 {
184 key = Console.ReadKey(true);
185 if (key.Key == ConsoleKey.J)
186 {
187 key = Console.ReadKey(true);
188 if (key.Key == ConsoleKey.I)
189 {
190 key = Console.ReadKey(true);
191 if (key.Key == ConsoleKey.E)
192 {
193 key = Console.ReadKey(true);
194 if (key.Key == ConsoleKey.D)
195 {
196 key = Console.ReadKey(true);
197 if (key.Key == ConsoleKey.E)
198 {
199 PlayerPos[playerNumber] += 150;
200 MapLength();
201 }
202 }
203 }
204 }
205 }
206 }
207 }
208 }
209 }
210 }
211 }
212 }
213 }
214 }
215 }
216 }
217 }
218 }
219 }
220 }
221 }
222 }
223 }
224 #endregion
225 Console.ForegroundColor = ConsoleColor.Green;
226 Console.WriteLine("玩家{0}掷出了{1}。按任意键开始行动...", PlayerName[playerNumber], num);
227 Console.ReadKey(true);
228 Console.Clear();
229 PlayerPos[playerNumber] += num;
230 MapLength();
231 if (PlayerPos[playerNumber] == PlayerPos[1 - playerNumber])
232 {
233 PlayerPos[1 - playerNumber] -= 40;
234 Console.ForegroundColor = ConsoleColor.Green;
235 temp = string.Format("玩家{0}被玩家{1}踩回退了40.非常高兴!~~~~~~~!", PlayerName[1 - playerNumber], PlayerName[playerNumber]);
236 }
237 else
238 {
239 switch (Map[PlayerPos[playerNumber]])
240 {
241 case 0:
242 //无关卡
243 Console.ForegroundColor = ConsoleColor.Green;
244 break;
245
246 case 1:
247 //幸运轮盘
248 #region 幸运轮盘
249 {
250 Console.ForegroundColor = ConsoleColor.Green;
251 temp = string.Format("{0}走到幸运轮盘,请选择1---交换位置,1---PK对方。", PlayerName[playerNumber]);
252 int numxy = ReadInt(temp, 1, 2);
253 if (numxy == 1)
254 {
255 int tem = PlayerPos[playerNumber];
256 PlayerPos[playerNumber] = PlayerPos[1 - playerNumber];
257 PlayerPos[1 - playerNumber] = tem;
258 Console.ForegroundColor = ConsoleColor.Green;
259 temp = string.Format("玩家{0}选择了与玩家{1}交换位置!", PlayerName[playerNumber], PlayerName[1 - playerNumber]);
260 }
261 else
262 {
263 PlayerPos[1 - playerNumber] -= 20;
264 MapLength();
265 Console.ForegroundColor = ConsoleColor.Green;
266 temp = string.Format("玩家{0}选择了与玩家{1}PK!让对方回退了20步", PlayerName[playerNumber], PlayerName[1 - playerNumber]);
267 }
268 break;
269 }
270 #endregion
271 case 2:
272 #region 地雷
273 PlayerPos[playerNumber] -= 15;
274 MapLength();
275 Console.ForegroundColor = ConsoleColor.Green;
276 temp = string.Format("恭喜玩家{0}踩到了烈性TNT回退了15步.", PlayerName[playerNumber]);
277
278 break;
279 #endregion
280 case 3:
281 #region 暂停
282 Console.ForegroundColor = ConsoleColor.Green;
283 temp = string.Format("{0}走到了小飞挖的粪坑!暂停一次!", PlayerName[playerNumber]);
284 result[playerNumber] = true;
285 #endregion
286 break;
287 case 4:
288 #region 时空隧道
289 PlayerPos[playerNumber] += 20;
290 MapLength();
291 Console.ForegroundColor = ConsoleColor.Green;
292 temp = string.Format("玩家{0}和川川一样猥琐!进了时空隧道!前进了20步。", PlayerName[playerNumber]);
293 #endregion
294 break;
295 }
296 }
297
298 DrawMap();
299 Console.ForegroundColor = ConsoleColor.Green;
300 Console.WriteLine(temp);
301 Console.WriteLine("行动完毕!");
302 }
303 /// <summary>
304 /// 判断是否超出地图
305 /// </summary>
306 public static void MapLength()
307 {
308
309 if (PlayerPos[0] >= 305)
310 {
311 PlayerPos[0] = 305;
312
313 }
314 if (PlayerPos[0] <= 1)
315 {
316 PlayerPos[0] = 1;
317 }
318 if (PlayerPos[1] >= 305)
319 {
320 PlayerPos[1] = 305;
321 }
322 if (PlayerPos[1] <= 1)
323 {
324 PlayerPos[1] = 1;
325 }
326 }
327 /// <summary>
328 /// 判断幸运轮盘
329 /// </summary>
330 /// <param name="temp">传入需要显示的字符串</param>
331 /// <param name="min">需要输入的最小值int类型</param>
332 /// <param name="max">需要输入的最大值int类型</param>
333 /// <returns></returns>
334 public static int ReadInt(string temp, int min, int max)
335 {
336 while (true)
337 {
338 try
339 {
340 Console.WriteLine(temp);
341 if (max > 2)
342 {
343 Console.WriteLine("关卡选择:1:低级 2:初级 3:中级 4:高级 5:终极 6:毁灭");
344 }
345 int num = int.Parse(Console.ReadLine());
346 if (num >= min && num <= max)
347 {
348 return num;
349 }
350 else
351 {
352 Console.WriteLine("您输入非法!请输入{0}到{1}这些数字!", min, max);
353 continue;
354 }
355 }
356 catch
357 {
358 Console.WriteLine("您输入非法!请输入{0}到{1}这些数字!", min, max);
359 }
360 }
361
362 }
363 /// <summary>
364 /// 判断玩家姓名
365 /// </summary>
366 public static void DecidePlayerName()
367 {
368 Console.WriteLine("请输入玩家A的名字:");
369 PlayerName[0] = Console.ReadLine();
370 do
371 {
372 if (PlayerName[0].Trim() == "")
373 {
374 Console.Write("玩家A姓名不能为空!");
375 PlayerName[0] = Console.ReadLine();
376 continue;
377 }
378 else
379 {
380 Console.WriteLine("请输入玩家B的名字:");
381 PlayerName[1] = Console.ReadLine();
382 if (PlayerName[1].Trim() == "")
383 {
384 Console.WriteLine("玩家B姓名不能为空!");
385 continue;
386 }
387 else if (PlayerName[0] == PlayerName[1])
388 {
389 Console.WriteLine("玩家B姓名不能与玩家[{0}]相同", PlayerName[0]);
390 continue;
391 }
392 else
393 {
394 Console.WriteLine("对战即将开始...");
395 Console.WriteLine("{0}士兵用◆表示...", PlayerName[0]);
396 Console.WriteLine("{0}士兵用◇表示...", PlayerName[1]);
397 break;
398 }
399 }
400
401
402 } while (true);
403 }
404 /// <summary>
405 /// 地图显示
406 /// </summary>
407 public static void DrawMap()
408 {
409 string kong = " ";
410 #region 地图显示
411 {
412 #region 第一行
413 Console.Write("{0,9}", kong);
414 for (int i = 1; i <= 31; i++)
415 {
416 Console.Write(DecideMap(i));
417 }
418 #endregion
419 Console.WriteLine();
420 #region 第二行
421 Console.Write("{0,69}", kong);
422 Console.Write(DecideMap(32));
423 #endregion
424 Console.WriteLine();
425 #region 第三行
426 Console.Write("{0,9}", kong);
427 for (int i = 108; i <= 136; i++)
428 {
429 Console.Write(DecideMap(i));
430 }
431 Console.Write("{0,2}", kong);
432 Console.Write("{0,1}", DecideMap(33));
433 #endregion
434 Console.WriteLine();
435 #region 第四行
436 Console.Write("{0,9}", kong);
437 Console.Write("{0,1}", DecideMap(107));
438 Console.Write("{0,54}", kong);
439 Console.Write("{0,1}", DecideMap(137));
440 Console.Write("{0,2}", kong);
441 Console.Write("{0,1}", DecideMap(34));
442 #endregion
443 Console.WriteLine();
444 #region 第五行
445 Console.Write("{0,9}", kong);
446 Console.Write("{0,1}", DecideMap(106));
447 Console.Write("{0,2}", kong);
448 Console.ForegroundColor = ConsoleColor.DarkGreen;
449 Console.Write("▇{0}", DecideMap(304));
450 for (int i = 303; i >= 294; i--)
451 {
452 Console.Write(DecideMap(i));
453 }
454 Console.Write("{0,4}", kong);
455 for (int i = 150; i >= 138; i--)
456 {
457 Console.Write(DecideMap(i));
458 }
459 Console.Write("{0,2}", kong);
460 Console.Write("{0,1}", DecideMap(35));
461 #endregion
462 Console.WriteLine();
463 #region 第六行
464 Console.Write("{0,9}", kong);
465 Console.Write("{0,1}", DecideMap(105));
466 Console.Write("{0,24}", kong);
467 Console.Write("{0,1}", DecideMap(293));
468 Console.Write("{0,4}", kong);
469 Console.Write("{0,1}", DecideMap(159));
470 Console.Write("{0,26}", kong);
471 Console.Write("{0,1}", DecideMap(36));
472 #endregion
473 Console.WriteLine();
474 #region 第七行
475 Console.Write("{0,9}", kong);
476 Console.Write("{0,1}", DecideMap(104));
477 Console.Write("{0,24}", kong);
478 Console.Write("{0,1}", DecideMap(292));
479 Console.Write("{0,4}", kong);
480 Console.Write("{0,1}", DecideMap(158));
481 Console.Write("{0,26}", kong);
482 Console.Write("{0,1}", DecideMap(37));
483 #endregion
484 Console.WriteLine();
485 #region 第八行
486 Console.Write("{0,9}", kong);
487 Console.Write("{0,1}", DecideMap(103));
488 Console.Write("{0,24}", kong);
489 Console.Write("{0,1}", DecideMap(291));
490 Console.Write("{0,4}", kong);
491 Console.Write("{0,1}", DecideMap(157));
492 Console.Write("{0,26}", kong);
493 Console.Write("{0,1}", DecideMap(38));
494 #endregion
495 Console.WriteLine();
496 #region 第九行
497 Console.Write("{0,9}", kong);
498 Console.Write("{0,1}", DecideMap(102));
499 Console.Write("{0,24}", kong);
500 Console.Write("{0,1}", DecideMap(290));
501 Console.Write("{0,4}", kong);
502 Console.Write("{0,1}", DecideMap(156));
503 Console.Write("{0,26}", kong);
504 Console.Write("{0,1}", DecideMap(39));
505 #endregion
506 Console.WriteLine();
507 #region 第十行
508 Console.Write("{0,9}", kong);
509 Console.Write("{0,1}", DecideMap(101));
510 Console.Write("{0,24}", kong);
511 Console.Write("{0,1}", DecideMap(289));
512 Console.Write("{0,4}", kong);
513 Console.Write("{0,1}", DecideMap(155));
514 Console.Write("{0,26}", kong);
515 Console.Write("{0,1}", DecideMap(40));
516 #endregion
517 Console.WriteLine();
518 #region 第十一行
519 Console.Write("{0,9}", kong);
520 Console.Write("{0,1}", DecideMap(100));
521 Console.Write("{0,24}", kong);
522 Console.Write("{0,1}", DecideMap(288));
523 Console.Write("{0,4}", kong);
524 Console.Write("{0,1}", DecideMap(154));
525 Console.Write("{0,26}", kong);
526 Console.Write("{0,1}", DecideMap(41));
527 #endregion
528 Console.WriteLine();
529 #region 第十二行
530 Console.Write("{0,9}", kong);
531 Console.Write("{0,1}", DecideMap(99));
532 Console.Write("{0,2}", kong);
533 for (int i = 275; i < 287; i++)
534 {
535 Console.Write(DecideMap(i));
536 }
537 Console.Write("{0,4}", kong);
538 for (int i = 157; i <= 169; i++)
539 {
540 Console.Write(DecideMap(i));
541 }
542 Console.Write("{0,2}", kong);
543 Console.Write("{0,1}", DecideMap(42));
544 #endregion
545 Console.WriteLine();
546 #region 第十三行
547 Console.Write("{0,9}", kong);
548 Console.Write("{0,1}", DecideMap(98));
549 Console.Write("{0,2}", kong);
550 Console.Write("{0,1}", DecideMap(274));
551 Console.Write("{0,50}", kong);
552 Console.Write("{0,1}", DecideMap(170));
553 Console.Write("{0,2}", kong);
554 Console.Write("{0,1}", DecideMap(43));
555 #endregion
556 Console.WriteLine();
557 #region 第十四行
558 Console.Write("{0,9}", kong);
559 Console.Write("{0,1}", DecideMap(97));
560 Console.Write("{0,2}", kong);
561 for (int i = 273; i > 261; i--)
562 {
563 Console.Write(DecideMap(i));
564 }
565 Console.Write("{0,4}", kong);
566 for (int i = 183; i >= 171; i--)
567 {
568 Console.Write(DecideMap(i));
569 }
570 Console.Write("{0,2}", kong);
571 Console.Write("{0,1}", DecideMap(44));
572 #endregion
573 Console.WriteLine();
574 #region 第十五行
575 Console.Write("{0,9}", kong);
576 Console.Write("{0,1}", DecideMap(96));
577 Console.Write("{0,24}", kong);
578 Console.Write("{0,1}", DecideMap(260));
579 Console.Write("{0,4}", kong);
580 Console.Write("{0,1}", DecideMap(184));
581 Console.Write("{0,10}", kong);
582 Console.Write("{0,1}", DecideMap(202));
583 Console.Write("{0,14}", kong);
584 Console.Write(DecideMap(45));
585 #endregion
586 Console.WriteLine();
587 #region 第十六行
588 Console.Write("{0,9}", kong);
589 Console.Write("{0,1}", DecideMap(95));
590 Console.Write("{0,24}", kong);
591 Console.Write("{0,1}", DecideMap(259));
592 Console.Write("{0,4}", kong);
593 Console.Write("{0,1}", DecideMap(185));
594 Console.Write("{0,8}", kong);
595 Console.Write("{0,1}", DecideMap(201));
596 Console.Write("{0,2}", kong);
597 Console.Write("{0,1}", DecideMap(203));
598 Console.Write("{0,12}", kong);
599 Console.Write(DecideMap(46));
600 #endregion
601 Console.WriteLine();
602 #region 第十七行
603 Console.Write("{0,9}", kong);
604 Console.Write("{0,1}", DecideMap(94));
605 Console.Write("{0,24}", kong);
606 Console.Write("{0,1}", DecideMap(258));
607 Console.Write("{0,4}", kong);
608 Console.Write("{0,1}", DecideMap(186));
609 Console.Write("{0,6}", kong);
610 Console.Write("{0,1}", DecideMap(200));
611 Console.Write("{0,6}", kong);
612 Console.Write("{0,1}", DecideMap(204));
613 Console.Write("{0,10}", kong);
614 Console.Write("{0,1}", DecideMap(47));
615 #endregion
616 Console.WriteLine();
617 #region 第十八行
618 Console.Write("{0,9}", kong);
619 Console.Write("{0,1}", DecideMap(93));
620 Console.Write("{0,24}", kong);
621 Console.Write("{0,1}", DecideMap(257));
622 Console.Write("{0,4}", kong);
623 Console.Write("{0,1}", DecideMap(187));
624 Console.Write("{0,7}", kong);
625 Console.Write("{0,1}", DecideMap(199));
626 Console.Write("{0,7}", kong);
627 Console.Write("{0,1}", DecideMap(205));
628 Console.Write("{0,8}", kong);
629 Console.Write("{0,1}", DecideMap(48));
630 #endregion
631 Console.WriteLine();
632 #region 第十九行
633 Console.Write("{0,9}", kong);
634 Console.Write("{0,1}", DecideMap(92));
635 Console.Write("{0,24}", kong);
636 Console.Write("{0,1}", DecideMap(256));
637 Console.Write("{0,4}", kong);
638 Console.Write("{0,1}", DecideMap(188));
639 Console.Write("{0,8}", kong);
640 Console.Write("{0,1}", DecideMap(198));
641 Console.Write("{0,5}", kong);
642 Console.Write("{0,1}", DecideMap(206));
643 Console.Write("{0,9}", kong);
644 Console.Write("{0,1}", DecideMap(49));
645 #endregion
646 Console.WriteLine();
647 #region 第二十行
648 Console.Write("{0,9}", kong);
649 Console.Write("{0,1}", DecideMap(91));
650 Console.Write("{0,24}", kong);
651 Console.Write("{0,1}", DecideMap(255));
652 Console.Write("{0,4}", kong);
653 Console.Write("{0,1}", DecideMap(189));
654 Console.Write("{0,9}", kong);
655 Console.Write("{0,1}", DecideMap(197));
656 Console.Write("{0,3}", kong);
657 Console.Write("{0,1}", DecideMap(207));
658 Console.Write("{0,10}", kong);
659 Console.Write("{0,1}", DecideMap(50));
660 #endregion
661 Console.WriteLine();
662 #region 第二十一行
663 Console.Write("{0,9}", kong);
664 Console.Write("{0,1}", DecideMap(90));
665 Console.Write("{0,2}", kong);
666 for (int i = 242; i < 254; i++)
667 {
668 Console.Write(DecideMap(i));
669 }
670 Console.Write("{0,4}", kong);
671 for (int i = 190; i <= 196; i++)
672 {
673 Console.Write(DecideMap(i));
674 }
675 Console.Write("{0,2}", kong);
676 for (int i = 208; i <= 212; i++)
677 {
678 Console.Write(DecideMap(i));
679 }
680 Console.Write("{0,2}", kong);
681 Console.Write(DecideMap(44));
682 #endregion
683 Console.WriteLine();
684 #region 第二十二行
685 Console.Write("{0,9}", kong);
686 Console.Write("{0,1}", DecideMap(89));
687 Console.Write("{0,2}", kong);
688 Console.Write("{0,1}", DecideMap(241));
689 Console.Write("{0,50}", kong);
690 Console.Write("{0,1}", DecideMap(213));
691 Console.Write("{0,2}", kong);
692 Console.Write("{0,1}", DecideMap(52));
693 #endregion
694 Console.WriteLine();
695 #region 第二十三行
696 Console.Write("{0,9}", kong);
697 Console.Write("{0,1}", DecideMap(88));
698 Console.Write("{0,2}", kong);
699 for (int i = 240; i >= 214; i--)
700 {
701 Console.Write(DecideMap(i));
702 }
703 Console.Write("{0,2}", kong);
704 Console.Write("{0,1}", DecideMap(53));
705 #endregion
706 Console.WriteLine();
707 #region 第二十四行
708 Console.Write("{0,9}", kong);
709 Console.Write("{0,1}", DecideMap(87));
710 Console.Write("{0,59}", DecideMap(54));
711 #endregion
712 Console.WriteLine();
713 #region 第二十五行
714 Console.Write("{0,9}", kong);
715 for (int i = 86; i >= 56; i--)
716 {
717 Console.Write(DecideMap(i));
718 }
719 #endregion
720 Console.WriteLine();
721 }
722 #endregion
723 }
724 /// <summary>
725 /// 地图实例化
726 /// </summary>
727 /// <param name="pos">传入地图坐标</param>
728 /// <returns></returns>
729 public static string DecideMap(int pos)
730 {
731 #region 符号
732
733
734 /*Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я ё‐ – — ― ‖ ‘ ’ “ ” ‥ … ‰ ′ ″ ‵ ※  ̄ € ℃ ℅ ℉ № ℡ Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ Ⅺ Ⅻ ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ ⅹ ← ↑ → ↓ ↖ ↗ ↘ ↙ ∈ ∏ ∑ ∕ ° √ ∝ ∞ ∟ ∠ ∣ ∥ ∧ ∨ ∩ ∪ ∫ ∮ ∴ ∵ ∶ ∷ ~ ∽ ≈ ≌ ≒ ≠ ≡ ≤ ≥ ≦ ≧ ≮ ≯ ⊕ ⊙ ⊥ ⊿ ⌒ ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇ ⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛ ─ ━ │ ┃ ┄ ┅ ┆ ┇ ┈ ┉ ┊ ┋ ┌ ┍ ┎ ┏ ┐ ┑ ┒ ┓ └ ┕ ┖ ┗ ┘ ┙ ┚ ┛ ├ ┝ ┞ ┟ ┠ ┡ ┢ ┣ ┤ ┥ ┦ ┧ ┨ ┩ ┪ ┫ ┬ ┭ ┮ ┯ ┰ ┱ ┲ ┳ ┴ ┵ ┶ ┷ ┸ ┹ ┺ ┻ ┼ ┽ ┾ ┿ ╀ ╁ ╂ ╃ ╄ ╅ ╆ ╇ ╈ ╉ ╊ ╋ ═ ║ ╒ ╓ ╔ ╕ ╖ ╗ ╘ ╙ ╚ ╛ ╜ ╝ ╞ ╟ ╠ ╡ ╢ ╣ ╤ ╥ ╦ ╧ ╨ ╩ ╪ ╫ ╬ ╭ ╮ ╯ ╰ ╱ ╲ ╳ ▁ ▂ ▃ ▄ ▅ ▆ ▇ █ ▉ ▊ ▋ ▌ ▍ ▎ ▏ ▓ ▔ ▕ ■ □ ▲ △ ▼ ▽ ◆ ◇ ○ ◎ ● ◢ ◣ ◤ ◥ ★ ☆ ☉ ♀ ♂、 。 〃 々 〆 〇 〈 〉 《 》 「 」 『 』 【 】 〒 〓 〔 〕 〖 〗 〝 〞 〡 〢 〣 〤 〥 〦 〧 〨 〩 ぁ あ ぃ い ぅ う ぇ え ぉ お か が き ぎ く ぐ け げ こ ご さ ざ し じ す ず せ ぜ そ ぞ た だ ち ぢ っ つ づ て で と ど な に ぬ ね の は ば ぱ ひ び ぴ ふ ぶ ぷ へ べ ぺ ほ ぼ ぽ ま み む め も ゃ や ゅ ゆ ょ よ ら り る れ ろ ゎ わ ゐ ゑ を ん ゛ ゜ ゝ ゞ ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ ギ ク グ ケ ゲ コ ゴ サ ザ シ ジ ス ズ セ ゼ ソ ゾ タ ダ チ ヂ ッ ツ ヅ テ デ ト ド ナ ニ ヌ ネ ノ ハ バ パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ ポ マ ミ ム メ モ ャ ヤ ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ ヰ ヱ ヲ ン ヴ ヵ ヶ ー ヽ ヾ ㄅ ㄆ ㄇ ㄈ ㄉ ㄊ ㄋ ㄌ ㄍ ㄎ ㄏ ㄐ ㄑ ㄒ ㄓ ㄔ ㄕ ㄖ ㄗ ㄘ ㄙ ㄚ ㄛ ㄜ ㄝ ㄞ ㄟ ㄠ ㄡ ㄢ ㄣ ㄤ ㄥ ㄦ ㄧ ㄨ ㄩ ㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩ ㈱ ㊣ ㎎ ㎏ ㎜ ㎝ ㎞ ㎡ ㏄ ㏎ ㏑ ㏒ ㏕ ︰ ︱ ︳ ︴ ︵ ︶ ︷ ︸ ︹ ︺ ︻ ︼ ︽ ︾ ︿ ﹀ ﹁ ﹂ ﹃ ﹄ ﹉
735 * */
736 #endregion
737 string temp = "";
738 if (PlayerPos[0] == PlayerPos[1] && PlayerPos[0] == pos)
739 {
740 Console.ForegroundColor = ConsoleColor.Red;
741 temp = "@@";
742 }
743 else if (PlayerPos[0] == pos)
744 {
745 Console.ForegroundColor = ConsoleColor.Red;
746 temp = "◆";
747 }
748 else if (PlayerPos[1] == pos)
749 {
750 Console.ForegroundColor = ConsoleColor.Red;
751 temp = "◇";
752 }
753 else
754 {
755 switch (Map[pos])
756 {
757
758 case 0:
759 Console.ForegroundColor = ConsoleColor.Gray;
760 temp = "□";
761 break;
762 case 1:
763 Console.ForegroundColor = ConsoleColor.Green;
764 temp = "㊣";
765 break;
766 case 2:
767 Console.ForegroundColor = ConsoleColor.Blue;
768 temp = "╆";
769 break;
770 case 3:
771 Console.ForegroundColor = ConsoleColor.Cyan;
772 temp = "☆";
773 break;
774 case 4:
775 Console.ForegroundColor = ConsoleColor.Yellow;
776 temp = "◎";
777 break;
778 }
779 }
780 return temp;
781 }
782 /// <summary>
783 /// 关卡选择:1:低级 2:初级 3:中级 4:高级 5:终极 6:xx
784 /// </summary>
785 /// <param name="num"></param>
786 public static void CustomsPass(int num)
787 {
788 switch (num)
789 {
790 case 1: InitMap(10); break;
791 case 2: InitMap(20); break;
792 case 3: InitMap(35); break;
793 case 4: InitMap(50); break;
794 case 5: InitMap(70); break;
795 case 6: InitMap(82); break;
796 }
797
798 }
799 /// <summary>
800 /// 关卡难度设置,初始化地图
801 /// </summary>
802 /// <param name="num">传入关卡数量int类型</param>
803 public static void InitMap(int num)
804 {
805 List<int> li = new List<int>();
806 Random r = new Random();
807 //幸运轮盘
808 #region 幸运轮盘
809 {
810 //for (int i = 0; i <= num; )
811 //{
812 // int j = r.Next(1, 300);
813 // if (Map[j] == 0)
814 // {
815 // Map[j] = 1; i++;
816 // }
817 // else
818 // {
819 // continue;
820 // }
821 //}
822
823 for (int i = 0; i < num; )
824 {
825 int j = r.Next(1, 305);
826 if (!li.Contains(j))
827 {
828 Map[j] = 1;
829 i++;
830 }
831 else
832 {
833 continue;
834 }
835 }
836 }
837 #endregion
838 #region 地雷
839 {
840 //地雷
841 //for (int i = 0; i < num + 25; )
842 //{
843 // int j = r.Next(2, 300);
844 // if (Map[j] == 0)
845 // {
846 // Map[j] = 2;
847 // i++;
848 // }
849 // else
850 // {
851 // continue;
852 // }
853 //}
854 for (int i = 0; i < num + 35; )
855 {
856 int j = r.Next(1, 305);
857 if (!li.Contains(j))
858 {
859 Map[j] = 2;
860 i++;
861 }
862 else
863 {
864 continue;
865 }
866 }
867 }
868 #endregion
869 #region 暂停
870 {
871 //设置暂停
872 //for (int i = 0; i < num + 35; )
873 //{
874
875 // int j = r.Next(3, 300);
876 // if (Map[j] == 0)
877 // {
878 // Map[j] = 3;
879 // i++;
880 // }
881 // else
882 // {
883 // continue;
884 // }
885 //}
886 for (int i = 0; i < num + 35; )
887 {
888 int j = r.Next(1, 305);
889 if (!li.Contains(j))
890 {
891 Map[j] = 3;
892 i++;
893 }
894 else
895 {
896 continue;
897 }
898 }
899 }
900 #endregion
901 #region 时空隧道
902 {
903 //设置时空隧道
904 //for (int i = 0; i < num - 10; )
905 //{
906
907 // int j = r.Next(5, 300);
908 // if (Map[j] == 0)
909 // {
910 // Map[j] = 4;
911 // i++;
912 // }
913 // else
914 // {
915 // continue;
916 // }
917 //}
918 for (int i = 0; i < num - 20; )
919 {
920 int j = r.Next(5, 304);
921 if (!li.Contains(j))
922 {
923 Map[j] = 4;
924 i++;
925 }
926 else
927 {
928 continue;
929 }
930 }
931 }
932 #endregion
933 }
934 }