Advertisement
SnowPhoenix347

3.1

Nov 1st, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.86 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Xml.Schema;
  7.  
  8. namespace FifthProject
  9. {
  10.     class Program
  11.     {
  12.         static void Main(string[] args)
  13.         {
  14.             Console.CursorVisible = false;
  15.  
  16.             char[,] map =
  17.             {
  18.                 {'#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#'},
  19.                 {'#', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '#'},
  20.                 {'#', ' ', ' ', '$', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '$', ' ', ' ', ' ', '#'},
  21.                 {'#', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '#'},
  22.                 {'#', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'X', ' ', ' ', '#'},
  23.                 {'#', ' ', '$', ' ', ' ', ' ', ' ', 'X', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '#'},
  24.                 {'#', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '#'},
  25.                 {'#', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '#'},
  26.                 {'#', ' ', ' ', ' ', ' ', 'X', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '$', ' ', ' ', ' ', '#'},
  27.                 {'#', ' ', '$', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '#'},
  28.                 {'#', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'X', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '#'},
  29.                 {'#', ' ', ' ', ' ', ' ', 'X', ' ', ' ', ' ', '!', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '#'},
  30.                 {'#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#'}
  31.             };
  32.  
  33.             char[] bag = new char[0];
  34.  
  35.             int userX = 3, userY = 3;
  36.             bool weapon = false;
  37.             int kills = 0, playerMove = 0;
  38.  
  39.             while (true)
  40.             {
  41.                 Console.SetCursorPosition(0, 0);
  42.                 for (int i = 0; i < map.GetLength(0); i++)
  43.                 {
  44.                     for (int j = 0; j < map.GetLength(1); j++)
  45.                     {
  46.                         Console.Write(map[i, j]);
  47.                     }
  48.  
  49.                     Console.WriteLine();
  50.                 }
  51.  
  52.                 Console.SetCursorPosition(30, 2);
  53.                 Console.WriteLine($"У вас осталось {68 - playerMove} ходов");
  54.                 Console.SetCursorPosition(30, 3);
  55.                 Console.WriteLine($"Поднимите меч(!), убейте всех противников(X) и соберите награды($)");
  56.                
  57.                
  58.                 Console.SetCursorPosition(30, 5);
  59.                 Console.WriteLine($"Осталось противников: {5 - kills}");
  60.  
  61.                 Console.SetCursorPosition(0, 25);
  62.                 Console.WriteLine("Собранные сокровища:");
  63.                 for (int i = 0; i < bag.Length; i++)
  64.                 {
  65.                     Console.Write(bag[i] + ", ");
  66.                 }
  67.  
  68.                 Console.SetCursorPosition(userY, userX);
  69.                 Console.Write('@');
  70.  
  71.                 ConsoleKeyInfo consoleKey = Console.ReadKey();
  72.  
  73.                 switch (consoleKey.Key)
  74.                 {
  75.                     case ConsoleKey.LeftArrow:
  76.                         if (map[userX, userY - 1] != '#')
  77.                         {
  78.                             userY--;
  79.                         }
  80.  
  81.                         break;
  82.                     case ConsoleKey.RightArrow:
  83.                         if (map[userX, userY + 1] != '#')
  84.                         {
  85.                             userY++;
  86.                         }
  87.  
  88.                         break;
  89.                     case ConsoleKey.UpArrow:
  90.                         if (map[userX - 1, userY] != '#')
  91.                         {
  92.                             userX--;
  93.                         }
  94.  
  95.                         break;
  96.                     case ConsoleKey.DownArrow:
  97.                         if (map[userX + 1, userY] != '#')
  98.                         {
  99.                             userX++;
  100.                         }
  101.  
  102.                         break;
  103.                 }
  104.  
  105.                 if (map[userX, userY] == '!')
  106.                 {
  107.                     map[userX, userY] = '.';
  108.                     weapon = true;
  109.                 }
  110.  
  111.                 if (map[userX, userY] == 'X')
  112.                 {
  113.                     if (weapon)
  114.                     {
  115.                         map[userX, userY] = '_';
  116.                         kills++;
  117.                     }
  118.                     else
  119.                     {
  120.                         Console.Clear();
  121.                         Console.WriteLine("\tGame Over");
  122.                         Console.ReadKey();
  123.                         break;
  124.                     }
  125.                 }
  126.  
  127.                 if (map[userX, userY] == '$')
  128.                 {
  129.                     map[userX, userY] = 'o';
  130.  
  131.                     char[] tempBag = new char[bag.Length + 1];
  132.                     for (int i = 0; i < bag.Length; i++)
  133.                     {
  134.                         tempBag[i] = bag[i];
  135.                     }
  136.  
  137.                     tempBag[tempBag.Length - 1] = '$';
  138.  
  139.                     bag = tempBag;
  140.                 }
  141.  
  142.                 if (bag.Length == 5 && kills == 5)
  143.                 {
  144.                     Console.Clear();
  145.                     Console.WriteLine("\tВы победили");
  146.                     Console.ReadKey();
  147.                     break;
  148.                 }
  149.  
  150.                 playerMove++;
  151.                 if (playerMove == 68)
  152.                 {
  153.                     Console.Clear();
  154.                     Console.WriteLine("\tGame Over");
  155.                     Console.ReadKey();
  156.                     break;
  157.                 }
  158.             }
  159.         }
  160.     }
  161. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement