Как написать консольную игру на C#
Как обработать столкновение с объектом что-бы игрок не проходил сквозь его.
вот пример кода:
do
Console.Clear();
//рисуем обьект
Console.SetCursorPosition(objectX1, objectY1);
// Console.Write(objectChar1);
//рисуем обьект 2
// Console.SetCursorPosition(objectX2, objectY2);
// Console.Write(objectChar2);
Console.SetCursorPosition(vragX, vragY);
Console.Write((char)4);
//рисуем игрока
Console.SetCursorPosition(playerX, playerY);
Console.Write(playerChar);
//логика
giveHealth();
healths();
damac();
GameOver();
//барьеры
if (playerX == 0)
{
playerX++;
}
if (playerY == 5)
{
playerY++;
}
if (playerX == 79)
{
playerX--;
}
if (playerY == 24)
{
playerY--;
}
//рисуем аптечку
Console.SetCursorPosition(aptecX, aptecY);
Console.Write(aptec);
Console.SetCursorPosition(aptec2X, aptec2Y);
Console.Write(aptec2Char);
//рисуем жизни
Console.SetCursorPosition(30, 3);
Console.Write("Жизни - " + health);
k = Console.ReadKey(true);
if (k.Key == ConsoleKey.UpArrow)
{
playerY--;
}
if (k.Key == ConsoleKey.DownArrow)
{
playerY++;
}
if (k.Key == ConsoleKey.LeftArrow)
{
playerX--;
}
if (k.Key == ConsoleKey.RightArrow)
{
playerX++;
}
if (k.Key == ConsoleKey.Escape)
{
Process.Start("MenuGame.exe");//Включаем меню
}
} while (k.Key != ConsoleKey.Escape);
вот функция столкновения :
public static void object1()
{
if (playerX == objectX1 + 1 && playerY == objectY1) //правая часть обьекта
{
playerX++;
}
помогите сделать так что-бы при нажатие кнопки вверх, вниз, вправо.
игрок не перемещялся на x++
В консоли придётся переписывать весь экран с учётом нажатой стрелки.
Проще создать имитацию консольного окна в гуе