Advertisement
randomm369

5.3

Sep 15th, 2019
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.19 KB | None | 0 0
  1. using System;
  2. using System.Threading;
  3.  
  4. namespace IMJunior
  5. {
  6.     class Program
  7.     {
  8.         static void Main()
  9.         {
  10.             Player player = new Player(3, 3);
  11.             Map map = new Map();
  12.  
  13.             map.fillingMap();
  14.             map.renderingMap(player);
  15.         }
  16.     }
  17.  
  18.  
  19.     class Map
  20.     {
  21.         char[,] mapping = new char[12, 15];
  22.         char[] bag = new char[0];
  23.  
  24.         public void fillingMap()
  25.         {
  26.             for (int i = 0; i < mapping.GetLength(0); i++)
  27.             {
  28.                 for (int y = 0; y < mapping.GetLength(1) - 1; y++)
  29.                 {
  30.                     if (i == 0 || i == mapping.GetLength(0) - 1)
  31.                         mapping[i, y] = '#';
  32.                     else
  33.                         mapping[i, y] = ' ';
  34.                 }
  35.                 mapping[i, 0] = '#';
  36.                 mapping[i, mapping.GetLength(1) - 1] = '#';
  37.             }
  38.  
  39.             Random random = new Random();
  40.  
  41.             for (byte i = 0; i < 3;)
  42.             {
  43.                 byte xx = (byte)random.Next(0, 12);
  44.                 byte yy = (byte)random.Next(0, 15);
  45.  
  46.                 if (mapping[xx, yy] != '#' && xx != 3 && yy != 3)
  47.                 {
  48.                     mapping[xx, yy] = 'X';
  49.                     Thread.Sleep(100);
  50.                     i++;
  51.                 }
  52.             }
  53.         }
  54.  
  55.         public void renderingMap(Player player)
  56.         {
  57.             Console.CursorVisible = false;
  58.             bool flag = true;
  59.             while (flag)
  60.             {
  61.                 Console.SetCursorPosition(0, 0);
  62.                 for (int i = 0; i < mapping.GetLength(0); i++)
  63.                 {
  64.                     for (int y = 0; y < mapping.GetLength(1); y++)
  65.                         Console.Write(mapping[i, y]);
  66.                     Console.WriteLine();
  67.                 }
  68.  
  69.                 Console.SetCursorPosition(0, 15);
  70.                 Console.Write("Сумка: ");
  71.                 for (int i = 0; i < bag.Length; i++)
  72.                 {
  73.                     Console.Write(bag[i] + " ");
  74.                 }
  75.  
  76.                 Console.SetCursorPosition(player.UserY, player.UserX);
  77.                 Console.Write('@');
  78.  
  79.                 ConsoleKeyInfo charKey = Console.ReadKey();
  80.  
  81.                 switch (charKey.Key)
  82.                 {
  83.                     case ConsoleKey.UpArrow:
  84.                         if (mapping[player.UserX - 1, player.UserY] != '#')
  85.                             player.UserX--;
  86.                         break;
  87.                     case ConsoleKey.DownArrow:
  88.                         if (mapping[player.UserX + 1, player.UserY] != '#')
  89.                             player.UserX++;
  90.                         break;
  91.                     case ConsoleKey.LeftArrow:
  92.                         if (mapping[player.UserX, player.UserY - 1] != '#')
  93.                             player.UserY--;
  94.                         break;
  95.                     case ConsoleKey.RightArrow:
  96.                         if (mapping[player.UserX, player.UserY + 1] != '#')
  97.                             player.UserY++;
  98.                         break;
  99.                 }
  100.  
  101.                 if (mapping[player.UserX, player.UserY] == 'X')
  102.                 {
  103.                     mapping[player.UserX, player.UserY] = 'o';
  104.  
  105.                     char[] tempBag = new char[bag.Length + 1];
  106.                     for (int i = 0; i < bag.Length; i++)
  107.                     {
  108.                         tempBag[i] = bag[i];
  109.                     }
  110.                     tempBag[tempBag.Length - 1] = 'X';
  111.  
  112.                     bag = tempBag;
  113.                 }
  114.                 if (bag.Length == 3)
  115.                 {
  116.                     flag = false;
  117.                     Console.Clear();
  118.                 }
  119.             }
  120.         }
  121.     }
  122.     class Player
  123.     {
  124.         int userX;
  125.         public int UserX
  126.         {
  127.             get { return userX; }
  128.             set { userX = value; }
  129.         }
  130.         int userY;
  131.              public int UserY
  132.         {
  133.             get { return userY; }
  134.             set { userY = value; }
  135.         }
  136.         public Player(int userx,int usery)
  137.         {
  138.             userX = userx;
  139.             userY = usery;
  140.         }
  141.     }          
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement