Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- //4 Brave new world. 9 баллов.
- //Сделать игровую карту с помощью двумерного массива.Сделать функцию рисования карты.
- //Помимо этого, дать пользователю возможность перемещаться по карте и взаимодействовать с
- //элементами (например пользователь не может пройти сквозь стену)
- //Все элементы являются обычными символами
- namespace Home4
- {
- class Program
- {
- static void Main(string[] args)
- {
- int userX = 3;
- int userY = 3;
- char[,] map = {
- {'#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#' },
- {'#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#' },
- {'#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#' },
- {'#',' ',' ',' ','X',' ',' ','#',' ',' ',' ','X',' ',' ',' ','#' },
- {'#',' ',' ',' ',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ','#' },
- {'#',' ',' ',' ',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ','#' },
- {'#',' ',' ',' ',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ','#' },
- {'#',' ','#','#','#','#','#','#','#','#','#','#','#','X',' ','#' },
- {'#',' ',' ',' ',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ','#' },
- {'#',' ',' ',' ',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ','#' },
- {'#',' ',' ',' ',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ','#' },
- {'#',' ','X',' ',' ','X',' ','#',' ',' ',' ',' ','X',' ',' ','#' },
- {'#',' ',' ',' ',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ','#' },
- {'#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#' },
- {'#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#' }
- };
- while (true)
- {
- ShowMap(map, userX, userY);
- MoveUser(map, ref userX, ref userY);
- PickUpGold(map, userX, userY);
- }
- }
- static void ShowMap(char[,] map, int x, int y)
- {
- Console.SetCursorPosition(0, 0);
- for (int i = 0; i < map.GetLength(0); i++)
- {
- for (int j = 0; j < map.GetLength(1); j++)
- {
- Console.Write(map[i, j]);
- }
- Console.WriteLine();
- }
- Console.SetCursorPosition(y, x);
- Console.Write('@');
- }
- static void MoveUser(char[,] map, ref int userX, ref int userY)
- {
- ConsoleKeyInfo userInput = Console.ReadKey(true);
- switch (userInput.Key)
- {
- case ConsoleKey.UpArrow:
- if (map[userX - 1, userY] != '#')
- {
- userX--;
- }
- break;
- case ConsoleKey.DownArrow:
- if (map[userX + 1, userY] != '#')
- {
- userX++;
- }
- break;
- case ConsoleKey.LeftArrow:
- if (map[userX, userY - 1] != '#')
- {
- userY--;
- }
- break;
- case ConsoleKey.RightArrow:
- if (map[userX, userY + 1] != '#')
- {
- userY++;
- }
- break;
- }
- }
- static void PickUpGold(char[,] map, int userX, int userY)
- {
- if (map[userX, userY] == 'X')
- {
- map[userX, userY] = 'o';
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement