HTML5技术

人生就像一条加速奔向死亡的贪吃蛇【winform版】 - 大萝卜控(2)

字号+ 作者:H5之家 来源:博客园 2016-05-22 18:00 我要评论( )

private void Form1_KeyDown( object sender, KeyEventArgs e){ switch (e.KeyCode){ case Keys.Up: if (Dir != Direction.Down) // 不能向当前方向的反方向移动 tmpDir = Direction.Up; ; ....... case Keys.Space

private void Form1_KeyDown(object sender, KeyEventArgs e) { switch(e.KeyCode) { case Keys.Up: if(Dir != Direction.Down) //不能向当前方向的反方向移动 tmpDir = Direction.Up; ;
          .......

         case Keys.Space: if(state == GameState.Start) { timer1.Enabled = !timer1.Enabled; Invalidate(); } break; case Keys.S: if (state == GameState.Start) { timer1.Enabled = false; , , MessageBoxButtons.OKCancel) == DialogResult.Cancel) { timer1.Enabled = true; break; } } StartGame(); break; } } }

蛇的移动,食物,游戏是否结束判断

switch (Dir) //使用策略模式来替代switch { case Direction.Up: { if (head.Y <= 0) //撞墙 { GameOver(); } foreach (var po in snake) { if (po.Y + 1 == head.Y && po.X == head.X) //吃掉自己 { GameOver(); break; } } if (state == GameState.Over) break; if (food.Y + 1 == head.Y && food.X == head.X) //吃掉食物 { snake.Enqueue(food); head = food; GenerateFood(); } { snake.Dequeue(); head = new Pos(head.X, head.Y - 1); snake.Enqueue(head); } } break; case Direction.Down:

整个程序的结构到此介绍完毕,总的来说是一个比较完整的小游戏了,当然有很多地方可以优化,但个人也就没那个兴趣和精力了(笑)

下载地址:GreedySnake

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 你看那个人他像一条狗 - 纯洁的微笑

    你看那个人他像一条狗 - 纯洁的微笑

    2017-03-29 11:02

  • 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践 - 初码

    【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究

    2016-07-03 16:00

  • 15个最新加速 Web 开发的框架和工具 - 帅的相对论

    15个最新加速 Web 开发的框架和工具 - 帅的相对论

    2015-11-25 11:13

  • 最新13个加速 Web 开发的框架和工具 - 帅的相对论

    最新13个加速 Web 开发的框架和工具 - 帅的相对论

    2015-11-17 14:26

网友点评