С самого начала разработки моей игры я многому научился.Сейчас я нахожусь на этапе, когда мне нужно, чтобы был реализован правильный характер игрока.Я пытался сделать это некоторое время, но я не могу заставить его работать с моей системой движения.Это моя система движений (со столкновением):
ConsoleKeyInfo input = Console.ReadKey(true);
switch (input.KeyChar)
{
case 'w':
if (y >= 1 && data[y - 1][x] != '#')
{
oldx = Console.CursorLeft;
oldy = Console.CursorTop;
Console.SetCursorPosition(x + 0, y - 1);
x = Console.CursorLeft;
y = Console.CursorTop;
//if (x == 11 && y == 11 )
}
break;
case 'a':
if (x >= 1 && data[y][x - 1] != '#')
{
oldx = Console.CursorLeft;
oldy = Console.CursorTop;
Console.SetCursorPosition(x - 1, y + 0);
x = Console.CursorLeft;
y = Console.CursorTop;
}
break;
case 's':
if (y < Console.WindowHeight - 1 && data[y + 1][x] != '#')
{
oldx = Console.CursorLeft;
oldy = Console.CursorTop;
Console.SetCursorPosition(x + 0, y + 1);
x = Console.CursorLeft;
y = Console.CursorTop;
}
break;
case 'd':
if (x < Console.WindowWidth - 1 && data[y][x + 1] != '#')
{
oldx = Console.CursorLeft;
oldy = Console.CursorTop;
Console.SetCursorPosition(x + 1, y + 0);
x = Console.CursorLeft;
y = Console.CursorTop;
}
break;
}
Моя карта является картой ASCII, отображаемой в цветах, которые может предложить ConsoleColor.Позади персонажа игрока соответствующая плитка карты должна быть перерисована без перерисовки всей карты (необходимость делать это действительно раздражает во время игры)
Когда вы выходите из карты, будет нарисована новая карта и игроктелепортируется ко входу на эту карту.
Как бы я реализовал рисование персонажа как подпрограмму?
Заранее спасибо!