Advertisement
Rodunskiy

Untitled

May 24th, 2023
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.17 KB | None | 0 0
  1. class program
  2. {
  3.     static void Main(string[] args)
  4.     {
  5.         Console.CursorVisible = false;
  6.         char[,] map =
  7.         {
  8.             {'#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#'},
  9.             {'#',' ',' ',' ',' ',' ',' ',' ',' ','#',' ',' ',' ',' ',' ','#'},
  10.             {'#',' ',' ',' ','#','#','#','#',' ','#',' ','#','#','#',' ','#'},
  11.             {'#',' ',' ',' ',' ',' ',' ','#',' ',' ',' ','#',' ',' ',' ','#'},
  12.             {'#',' ',' ',' ',' ','#',' ','#','#',' ','#','#','#',' ','#','#'},
  13.             {'#',' ','#','#',' ','#',' ',' ',' ',' ','#','#',' ',' ','#','#'},
  14.             {'#',' ',' ',' ',' ','#','#','#','#',' ','#','#',' ','#','#','#'},
  15.             {'#',' ','#','#',' ',' ',' ',' ','#',' ',' ',' ',' ','#','#','#'},
  16.             {'#',' ','#','#',' ','#','#',' ','#','#','#',' ','#','#','#','#'},
  17.             {'#',' ','#','#',' ','#','#',' ','#','#','#',' ',' ',' ',' ','#'},
  18.             {'#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#'},
  19.         };
  20.  
  21.         int userPositionX = 10;
  22.         int userPositionY = 1;
  23.  
  24.         int userDirectionX = 0;
  25.         int userDirectionY = 0;
  26.  
  27.         while (true)
  28.         {
  29.             DrawMap(map, userPositionX, userPositionY);
  30.             Direction(map, ref userPositionX, ref userPositionY, ref userDirectionX, ref userDirectionY);
  31.             Movement(map, ref userPositionX, ref userPositionY, userDirectionX, userDirectionY);
  32.         }
  33.     }
  34.  
  35.     static void DrawMap(char[,] array, int positionX, int positionY)
  36.     {
  37.         Console.SetCursorPosition(0,0);
  38.  
  39.         for (int i = 0; i < array.GetLength(0); i++)
  40.         {
  41.             for (int j = 0; j < array.GetLength(1); j++)
  42.             {
  43.                 Console.Write(array[i, j]);
  44.             }
  45.  
  46.             Console.WriteLine();
  47.         }
  48.  
  49.         Console.SetCursorPosition(positionX, positionY);
  50.         Console.WriteLine('@');
  51.     }
  52.  
  53.     static void Direction(char[,] array, ref int positionX, ref int positionY, ref int directionX, ref int directionY)
  54.     {
  55.         ConsoleKeyInfo charKey = Console.ReadKey();
  56.  
  57.         switch (charKey.Key)
  58.         {
  59.             case ConsoleKey.UpArrow:
  60.                 directionX = 0;
  61.                 directionY = -1;
  62.                 break;
  63.  
  64.             case ConsoleKey.DownArrow:
  65.                 directionX = 0;
  66.                 directionY = 1;
  67.                 break;
  68.  
  69.             case ConsoleKey.LeftArrow:
  70.                 directionX = -1;
  71.                 directionY = 0;
  72.                 break;
  73.  
  74.             case ConsoleKey.RightArrow:
  75.                 directionX = 1;
  76.                 directionY = 0;
  77.                 break;
  78.         }
  79.         Console.Clear();
  80.     }
  81.  
  82.     static void Movement(char[,] array, ref int positionX, ref int positionY, int directionX, int directionY)
  83.     {
  84.         if (array[positionY + directionY, positionX + directionX] != '#')
  85.         {
  86.             Console.SetCursorPosition(positionX, positionY);
  87.             Console.WriteLine(" ");
  88.             positionX += directionX;
  89.             positionY += directionY;
  90.             Console.SetCursorPosition(positionX, positionY);
  91.             Console.WriteLine("@");
  92.         }
  93.     }
  94. }
  95.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement