Advertisement
Guest User

4.4

a guest
Oct 22nd, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.87 KB | None | 0 0
  1. using System;
  2.  
  3. namespace HelloApp
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             Console.CursorVisible = false;
  10.  
  11.             int mapHigh;
  12.             int mapWidth;
  13.             int moveX = 1;
  14.             int moveY = 1;
  15.             Random wall = new Random();
  16.            
  17.             Console.WriteLine("выберите ширину карты(максимальная ширина - 50)");
  18.             mapWidth = Convert.ToInt32(Console.ReadLine());
  19.             if (mapWidth > 50)
  20.             {
  21.                 mapWidth = 50;
  22.             }
  23.             Console.WriteLine("выберите высоту карты(максимальная высота - 20)");
  24.             mapHigh = Convert.ToInt32(Console.ReadLine());
  25.             if (mapHigh > 20)
  26.             {
  27.                 mapHigh = 20;
  28.             }
  29.             Console.Clear();
  30.  
  31.             char[,] map = new char[mapHigh, mapWidth];
  32.             for (int i = 0; i < mapHigh; i++)
  33.             {
  34.                 for (int j = 0; j < mapWidth; j++)
  35.                 {
  36.                     if (i == 0 || i == mapHigh - 1)
  37.                     {
  38.                         map[i, j] = '*';
  39.                     }
  40.                     else
  41.                     {
  42.                         if (j == 0 || j == mapWidth - 1)
  43.                         {
  44.                             map[i, j] = '*';
  45.                         }
  46.                         else
  47.                         {
  48.                             if (wall.Next(0,100)>90)
  49.                             {
  50.                                 map[i, j] = '*';
  51.                             }
  52.                             else
  53.                             {
  54.                                 map[i, j] = ' ';
  55.                             }
  56.                         }
  57.                     }
  58.                 }
  59.             }
  60.             map[1, 1] = ' ';
  61.  
  62.             do
  63.             {
  64.                 map[moveY, moveX] = '@';
  65.                 DrawMap(map);
  66.                 ConsoleKeyInfo input = Console.ReadKey();
  67.                 switch (input.Key)
  68.                 {
  69.                     case ConsoleKey.W:
  70.                         map[moveY, moveX] = ' ';
  71.                         if (map[moveY-1, moveX] != '*')
  72.                         {
  73.                             moveY--;
  74.                         }
  75.                         break;
  76.                    
  77.                     case ConsoleKey.S:
  78.                         map[moveY, moveX] = ' ';
  79.                         if (map[moveY + 1, moveX] != '*')
  80.                         {
  81.                             moveY++;
  82.                         }
  83.                         break;
  84.                    
  85.                     case ConsoleKey.A:
  86.                         map[moveY, moveX] = ' ';
  87.                         if (map[moveY, moveX - 1] != '*')
  88.                         {
  89.                             moveX--;
  90.                         }
  91.                         break;
  92.                    
  93.                     case ConsoleKey.D:
  94.                         map[moveY, moveX] = ' ';
  95.                         if (map[moveY, moveX + 1] != '*')
  96.                         {
  97.                             moveX++;
  98.                         }
  99.                         break;
  100.                     default:
  101.                         break;
  102.                 }
  103.  
  104.                 Console.SetCursorPosition(52, 2);
  105.                 Console.Write("WSAD для перемещения");
  106.                 Console.SetCursorPosition(0,0);
  107.  
  108.             } while (true);
  109.  
  110.         }
  111.        
  112.         static void DrawMap(char[,] array)
  113.         {
  114.             for (int i = 0; i < array.GetLength(0); i++)
  115.             {
  116.                 for (int j = 0; j < array.GetLength(1); j++)
  117.                 {
  118.                     Console.Write(array[ i , j ]);
  119.                 }
  120.                 Console.WriteLine();
  121.             }
  122.         }
  123.     }
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement