致谢:
感谢 Ronnie Mooney ,我是在学习了他的视频后完成这个视频的,你可以在 [C#] Creating a Snake Game - Less than an Hour 找到他的视频(需翻墙,请自备梯子)。
编写 Input
静态类
private static readonly Hashtable _keys = new Hashtable()
public static void ChangeState(Keys key, bool state)
public static bool Pressed(Keys key)
编写 SnakePart
类
该类仅有两个变量 X
和 Y
,以及一个构造函数,构造函数的作用就是为 X
和 Y
赋值。
编写 Direction
枚举
编写 SnakeForm
表单
PictureBox
控件,命名为 pbCanvas
,并将大小设置为 320 * 240,背景色设置为 LightSkyBlue
SnakeForm_KeyDown
和 SnakeForm_KeyUp
事件pbCanvas_Paint
事件,该事件的处理函数就是调用 draw()
_score
变量_gameover
变量_direction
变量_snake
列表变量_food
变量_gameLoop
变量_snakeLoop
变量_snakeRate
变量startGame
startGame()
head
并添加进 _snake
generateFood
generateFood()
SnakePart
并赋值给 _food
,需要确保新产生的 _food
不在蛇身上gameover()
_gameover
置为 true
draw()
updateGame()
updateSnake()