Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.IO;
- namespace BRAVE_NEW_WORLD
- {
- class Program
- {
- static void Main(string[] args)
- {
- Console.CursorVisible = false;
- int playerСoordinatesX;
- int playerСoordinatesY;
- int playerDirectionX = 1;
- int playerDirectionY = 0;
- char[,] map = ReadMap("map_1", out playerСoordinatesX, out playerСoordinatesY);
- DrawMap(map);
- while (true)
- {
- if (Console.KeyAvailable)
- {
- ConsoleKeyInfo key = Console.ReadKey(true);
- ChangeDirection(key, ref playerDirectionX, ref playerDirectionY);
- if (map[playerСoordinatesX + playerDirectionX, playerСoordinatesY + playerDirectionY] != '#')
- {
- MovementPlayer(ref playerСoordinatesX, ref playerСoordinatesY, playerDirectionX, playerDirectionY);
- }
- }
- }
- }
- static char[,] ReadMap(string nameMap, out int playerСoordinatesX, out int playerСoordinatesY)
- {
- playerСoordinatesX = 0;
- playerСoordinatesY = 0;
- string[] newFile = File.ReadAllLines($"maps/{nameMap}.txt");
- char[,] map = new char[newFile.Length, newFile[0].Length];
- for (int i = 0; i < map.GetLength(0); i++)
- {
- for (int j = 0; j < map.GetLength(1); j++)
- {
- map[i, j] = newFile[i][j];
- if (map[i, j] == '@')
- {
- playerСoordinatesX = i;
- playerСoordinatesY = j;
- }
- }
- }
- return map;
- }
- static void DrawMap(char[,] map)
- {
- 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();
- }
- }
- static void MovementPlayer(ref int playerСoordinatesX, ref int playerСoordinatesY, int playerDirectionX, int playerDirectionY)
- {
- Console.SetCursorPosition(playerСoordinatesY, playerСoordinatesX);
- Console.Write(" ");
- playerСoordinatesX += playerDirectionX;
- playerСoordinatesY += playerDirectionY;
- Console.SetCursorPosition(playerСoordinatesY, playerСoordinatesX);
- Console.Write('@');
- }
- static void ChangeDirection(ConsoleKeyInfo key, ref int playerDirectionX, ref int playerDirectionY)
- {
- switch (key.Key)
- {
- case ConsoleKey.UpArrow:
- playerDirectionX = -1;
- playerDirectionY = 0;
- break;
- case ConsoleKey.DownArrow:
- playerDirectionX = 1;
- playerDirectionY = 0;
- break;
- case ConsoleKey.LeftArrow:
- playerDirectionX = 0;
- playerDirectionY = -1;
- break;
- case ConsoleKey.RightArrow:
- playerDirectionX = 0;
- playerDirectionY = 1;
- break;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement