В основном запрашиваются клавиши со стрелками ВВЕРХ/ВНИЗ/ВЛЕВО/ВПРАВО... >
При нажатии вверх значение счетчика должно увеличиваться на 1.
При нажатии вниз значение должно уменьшаться на 1.
Однако
Он оценивает не все нажатия клавиш, а только первое.
Итак, если я решу нажать «Вниз». оно будет только уменьшаться, независимо от того, изменю ли я позже ввод с «Вниз» на «Вверх».
Вот фрагмент, который необходимо изменить.
Код: Выделить всё
Point p1 = new Point(5, 2);
ConsoleKeyInfo input = Console.ReadKey();
while (Console.ReadKey().Key != ConsoleKey.Escape)
{
if (input.Key == ConsoleKey.UpArrow)
{
p1.Y++;
Console.WriteLine(p1.Y);
} else if (input.Key == ConsoleKey.DownArrow)
{
p1.Y--;
Console.WriteLine(p1.Y);
} else if (input.Key == ConsoleKey.LeftArrow)
{
p1.X--;
Console.WriteLine(p1.X);
} else if (input.Key == ConsoleKey.RightArrow)
{
p1.X++;
Console.WriteLine(p1.X);
}
}
При нажатии влево оно должно уменьшаться на -1 каждый раз, когда я нажимаю влево.
Я должен иметь возможность изменять вводимые данные в любое время.
Я также хочу иметь возможность сравнивать значения X и Y с фиксированными значениями.
Например, я хочу иметь возможность сравнивать:
X = 5 и Y = 2?
затем иметь возможность взять под контроль цикл программы.
Подробнее здесь: https://stackoverflow.com/questions/791 ... if-else-if
Мобильная версия