博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【视频】半小时内编写一个贪吃蛇游戏
阅读量:5078 次
发布时间:2019-06-12

本文共 1001 字,大约阅读时间需要 3 分钟。

贪吃蛇编写提纲

致谢:

感谢 Ronnie Mooney ,我是在学习了他的视频后完成这个视频的,你可以在 找到他的视频(需FQ,请自备梯子)。

  • 编写 Input 静态类

    • 初始化静态变量 private static readonly Hashtable _keys = new Hashtable()
    • 编写方法 public static void ChangeState(Keys key, bool state)
    • 编写方法 public static bool Pressed(Keys key)
  • 编写 SnakePart

    该类仅有两个变量 XY,以及一个构造函数,构造函数的作用就是为 XY 赋值。

  • 编写 Direction 枚举

  • 编写 SnakeForm 表单

    • 添加一个 PictureBox 控件,命名为 pbCanvas,并将大小设置为 320 * 240,背景色设置为 LightSkyBlue
    • 调整表单大小
    • 添加 SnakeForm_KeyDownSnakeForm_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()

转载于:https://www.cnblogs.com/platobeing/p/3815034.html

你可能感兴趣的文章
我的作品
查看>>
Colored Sticks(trie)
查看>>
C# 委托与事件(入门1)
查看>>
黑马程序员-Java中的基本数据类型
查看>>
转载:解决IE下a标签会触发window.onbeforeunload的问题
查看>>
ADB server didn't ACK * failed to start daemon *
查看>>
Postgresql中的dataType
查看>>
顶点缓存与索引缓存
查看>>
PHP中获取文件扩展名的N种方法(转)
查看>>
setInterval循环设置并传入不同的参数
查看>>
bzoj 1013: [JSOI2008]球形空间产生器sphere【高斯消元】
查看>>
virtualenv 虚拟环境
查看>>
数的长度 NYOJ 69
查看>>
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
查看>>
TreeSet和Hashde、equals
查看>>
CIO的能力
查看>>
oracle存储过程
查看>>
poj2236 基础并查集
查看>>
Python异常处理
查看>>
精耕平台路径
查看>>