【视频】半小时内编写一个贪吃蛇游戏
贪吃蛇编写提纲
致谢:
感谢 Ronnie Mooney ,我是在学习了他的视频后完成这个视频的,你可以在 [C#] Creating a Snake Game - Less than an Hour 找到他的视频(需FQ,请自备梯子)。
-
编写
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变量 - 初始化各变量,设置定时器变量的回调方法和回调间隔(gameLoop: 1000 / 60,snakeLoop:1000 / _snakeRate),并启动定时器,调用
startGame -
编写方法
startGame()- 重置变量
- 实例化
head并添加进_snake - 调用
generateFood
-
编写
generateFood()- 随机产生一个
SnakePart并赋值给_food,需要确保新产生的_food不在蛇身上
- 随机产生一个
-
编写方法
gameover()- 将
_gameover置为true
- 将
- 编写方法
draw() - 编写方法
updateGame() - 编写方法
updateSnake()
- 添加一个

浙公网安备 33010602011771号