致谢:
感谢 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,背景色设置为 LightSkyBlueSnakeForm_KeyDown 和 SnakeForm_KeyUp 事件pbCanvas_Paint 事件,该事件的处理函数就是调用 draw()_score 变量_gameover 变量_direction 变量_snake 列表变量_food 变量_gameLoop 变量_snakeLoop 变量_snakeRate 变量startGamestartGame()
head 并添加进 _snake generateFoodgenerateFood()
SnakePart 并赋值给 _food,需要确保新产生的 _food 不在蛇身上gameover()
_gameover 置为 truedraw()updateGame()updateSnake()