Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 蛇形游戏赢取表格_C#_Winforms - Fatal编程技术网

C# 蛇形游戏赢取表格

C# 蛇形游戏赢取表格,c#,winforms,C#,Winforms,我一直在尝试使用win forms创建一个snake游戏,但在使用箭头键移动带有事件处理的按钮工具时遇到了问题。如果有人能从您提供的非常有限的信息中向我解释如何使其工作,那将非常有帮助。通常,方法应该是处理包含游戏的表单的按键事件。当窗体具有焦点时,每当按下某个键时,就会引发此事件。(KeyPress事件要求在按键升起之前按下并释放按键;相同的操作也会同时升起KeyDown和KeyUp) 处理KeyDown事件时,请检查KeyEventArgs的KeyData属性。该属性(只读)是带标记的枚举(

我一直在尝试使用win forms创建一个snake游戏,但在使用箭头键移动带有事件处理的按钮工具时遇到了问题。如果有人能从您提供的非常有限的信息中向我解释如何使其工作,那将非常有帮助。通常,方法应该是处理包含游戏的表单的按键事件。当窗体具有焦点时,每当按下某个键时,就会引发此事件。(KeyPress事件要求在按键升起之前按下并释放按键;相同的操作也会同时升起KeyDown和KeyUp)

处理KeyDown事件时,请检查KeyEventArgs的KeyData属性。该属性(只读)是带标记的枚举(这意味着它可以具有可用值的组合)。您需要查看是否按了以下一个或多个键:键。向上、键。向下、键。左和键。右。这些是箭头键。您还可以允许用户分别使用numpad键8、2、4和6,它们具有不同的键枚举值。如果KeyData具有其中一个属性,请更改snake的移动方向,并将KeyEventArgs的Handled属性设置为true,这将告诉响应按键的任何其他代码不要继续。这将防止与箭头键关联的默认行为导致问题


了解用户可以按多个箭头键。如果这些键位于相反的方向,或者您不允许在一个方向上移动,则需要决定如何处理这种情况。简单的解决办法是什么都不做。更复杂的解决方案是跟踪当前按下的箭头键,如果按下了多个箭头键,则监听一个向上键事件,该事件将在一个或多个箭头键被释放时通知您,并且仅在当前按下一个箭头键时更改方向。

编辑您的问题以显示您当前尝试的代码。什么是“按钮工具”对不起,我的信息太少了,我是新来的,但是谢谢你的帮助,我会检查一下,然后想办法处理这个项目