Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [StartCode]
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.IO;
- namespace ConsoleApp14
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- Console.CursorVisible = false;
- bool isPlay = true;
- int duckСoordinatesX = 1;
- int duckСoordinatesY = 1;
- int duckСoordinatesDirectionX = 0;
- int duckСoordinatesDirectionY = 0;
- char[,] map = ReadMap("map1.txt");
- DrawMap(map);
- while (isPlay)
- {
- if (Console.KeyAvailable)
- {
- ConsoleKeyInfo key = Console.ReadKey(true);
- ChangeDirection(key,ref duckСoordinatesDirectionX,ref duckСoordinatesDirectionY);
- if (map[duckСoordinatesX + duckСoordinatesDirectionX, duckСoordinatesY + duckСoordinatesDirectionY] != '*')
- {
- MoveObject(ref duckСoordinatesX, ref duckСoordinatesY, duckСoordinatesDirectionX, duckСoordinatesDirectionY);
- }
- }
- }
- }
- static void ChangeDirection(ConsoleKeyInfo key,ref int objectСoordinatesDirectionX,ref int objectСoordinatesDirectionY)
- {
- switch (key.Key)
- {
- case ConsoleKey.UpArrow:
- objectСoordinatesDirectionX = -1;
- objectСoordinatesDirectionY = 0;
- break;
- case ConsoleKey.DownArrow:
- objectСoordinatesDirectionX = 1;
- objectСoordinatesDirectionY = 0;
- break;
- case ConsoleKey.LeftArrow:
- objectСoordinatesDirectionX = 0;
- objectСoordinatesDirectionY = -1;
- break;
- case ConsoleKey.RightArrow:
- objectСoordinatesDirectionX = 0;
- objectСoordinatesDirectionY = 1;
- break;
- }
- }
- static void MoveObject(ref int objectСoordinatesX,ref int objectСoordinatesY, int objectСoordinatesDirectionX, int objectСoordinatesDirectionY)
- {
- Console.SetCursorPosition(objectСoordinatesY, objectСoordinatesX);
- Console.Write(' ');
- objectСoordinatesX += objectСoordinatesDirectionX;
- objectСoordinatesY += objectСoordinatesDirectionY;
- Console.SetCursorPosition(objectСoordinatesY, objectСoordinatesX);
- Console.Write("2");
- }
- static char[,] ReadMap(string mapName)
- {
- string[] newFile = File.ReadAllLines("maps/" + mapName);
- 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] ;
- }
- }
- 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();
- }
- }
- }
- }
- [EndCode]
Advertisement
Add Comment
Please, Sign In to add comment