Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class program
- {
- static void Main(string[] args)
- {
- Console.CursorVisible = false;
- char[,] map =
- {
- {'#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#'},
- {'#',' ',' ',' ',' ',' ',' ',' ',' ','#',' ',' ',' ',' ',' ','#'},
- {'#',' ',' ',' ','#','#','#','#',' ','#',' ','#','#','#',' ','#'},
- {'#',' ',' ',' ',' ',' ',' ','#',' ',' ',' ','#',' ',' ',' ','#'},
- {'#',' ',' ',' ',' ','#',' ','#','#',' ','#','#','#',' ','#','#'},
- {'#',' ','#','#',' ','#',' ',' ',' ',' ','#','#',' ',' ','#','#'},
- {'#',' ',' ',' ',' ','#','#','#','#',' ','#','#',' ','#','#','#'},
- {'#',' ','#','#',' ',' ',' ',' ','#',' ',' ',' ',' ','#','#','#'},
- {'#',' ','#','#',' ','#','#',' ','#','#','#',' ','#','#','#','#'},
- {'#',' ','#','#',' ','#','#',' ','#','#','#',' ',' ',' ',' ','#'},
- {'#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#'},
- };
- int userPositionX = 10;
- int userPositionY = 1;
- int userDirectionX = 0;
- int userDirectionY = 0;
- while (true)
- {
- DrawMap(map, userPositionX, userPositionY);
- Direction(map, ref userPositionX, ref userPositionY, ref userDirectionX, ref userDirectionY);
- Movement(map, ref userPositionX, ref userPositionY, userDirectionX, userDirectionY);
- }
- }
- static void DrawMap(char[,] array, int positionX, int positionY)
- {
- Console.SetCursorPosition(0,0);
- for (int i = 0; i < array.GetLength(0); i++)
- {
- for (int j = 0; j < array.GetLength(1); j++)
- {
- Console.Write(array[i, j]);
- }
- Console.WriteLine();
- }
- Console.SetCursorPosition(positionX, positionY);
- Console.WriteLine('@');
- }
- static void Direction(char[,] array, ref int positionX, ref int positionY, ref int directionX, ref int directionY)
- {
- ConsoleKeyInfo charKey = Console.ReadKey();
- switch (charKey.Key)
- {
- case ConsoleKey.UpArrow:
- directionX = 0;
- directionY = -1;
- break;
- case ConsoleKey.DownArrow:
- directionX = 0;
- directionY = 1;
- break;
- case ConsoleKey.LeftArrow:
- directionX = -1;
- directionY = 0;
- break;
- case ConsoleKey.RightArrow:
- directionX = 1;
- directionY = 0;
- break;
- }
- Console.Clear();
- }
- static void Movement(char[,] array, ref int positionX, ref int positionY, int directionX, int directionY)
- {
- if (array[positionY + directionY, positionX + directionX] != '#')
- {
- Console.SetCursorPosition(positionX, positionY);
- Console.WriteLine(" ");
- positionX += directionX;
- positionY += directionY;
- Console.SetCursorPosition(positionX, positionY);
- Console.WriteLine("@");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement