【视频】半小时内编写一个贪吃蛇游戏[flash=500,400]http://www.tudou.com/v/Kh9uCeGBMJo/&bid=05&rpid=331181959&resourceId=331181959_05_05_99/v.swf[/flash]贪吃蛇编写提纲致谢:
感谢 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()