【发布时间】:2019-12-20 11:06:39
【问题描述】:
要改变蛇的方向,我首先必须按向上箭头,然后按蛇的新方向,蛇会朝那个方向前进,直到我再次点击向上箭头。因此,要向左改变方向,您需要按向上箭头,然后按向左箭头。当我按左键使蛇向左移动时,我希望它消失。基本上向上箭头正在暂停游戏,我不知道为什么。
if (Console.KeyAvailable && Console.ReadKey(true).Key == ConsoleKey.UpArrow)
{
keyinfo = Console.ReadKey();
Console.WriteLine(ConsoleKey.UpArrow);
}
if (Console.KeyAvailable && Console.ReadKey(true).Key == ConsoleKey.DownArrow)
{
keyinfo = Console.ReadKey();
Console.WriteLine(ConsoleKey.DownArrow);
}
if (Console.KeyAvailable && Console.ReadKey(true).Key == ConsoleKey.LeftArrow)
{
keyinfo = Console.ReadKey();
Console.WriteLine(ConsoleKey.LeftArrow);
}
if (Console.KeyAvailable && Console.ReadKey(true).Key == ConsoleKey.RightArrow)
{
keyinfo = Console.ReadKey();
Console.WriteLine(ConsoleKey.RightArrow);
}
if (keyinfo.Key == ConsoleKey.UpArrow)
{
j--;
}
if (keyinfo.Key == ConsoleKey.DownArrow)
{
j++;
}
if (keyinfo.Key == ConsoleKey.LeftArrow)
{
k--;
}
if (keyinfo.Key == ConsoleKey.RightArrow)
{
k++;
}
【问题讨论】:
-
我认为部分问题可能是您在 if 语句中执行
ReadKey(我认为这意味着按键已被执行)。然后你正在执行另一个ReadKey()哪个是左键?
标签: c# if-statement controls key readkey