文件名称:开始玩吧-《中国2060年前碳中和研究报告》
文件大小:4.49MB
文件格式:PDF
更新时间:2024-06-28 01:03:06
UML 状态图 实用C设计 实用C++设计 中文全文
1.2 开始玩吧 下面对“飞行和射击”游戏的描叙有两个目的,首先是解释如何玩这个游戏,再就是作为问题说明规范, 在本章后面用来设计和实现软件。为达成这两个目标,我需要详细的解释,所以请耐心阅读。 你在游戏中的目标是指挥一艘太空飞船通过一个没有尽头的,布满鱼雷的水平隧道。飞船同隧道 或者鱼雷的任何碰撞都会毁灭飞船。你可以使用 PC 键盘上的 UP 或者 DOWN箭头按键,或者 EV- LM3S811板上的旋钮,使飞船向上或向下移动 ( 图 1.1) 。你也可以按 PC 键盘的空格键,或者 EV- LM3S811上的 USER 按钮,发射一枚导弹去消灭隧道里的鱼雷。分数根据游戏的时间 ( 速率是每秒获 得30分 ) 和炸毁鱼雷的数量递增,每次游戏只有一艘飞船。 游戏开始时是演示模式,隧道以正常的速度从右到左卷动, Press Button字符串在屏幕中间闪烁。 你需要产生 fire missile 事件让游戏开始(在 PC 上按空格键,在 EV-LM3S811 板上按 USER 按 钮)。 在飞行时你每次只能有一枚导弹,因此当导弹在飞行时,你不能再发射导弹。导弹击中隧道墙壁 没有分数,但是击毁鱼雷可以得分。 游戏中有 2 种不同功能的鱼雷。在原版 Luminary QuckStart 应用程序中, 2 种鱼雷的行为一样, 但是我想演示状态机如何能优雅的处理具有不同行为的鱼雷。 鱼雷 1 型较小,但是可以被导弹击中它的任何像素点而被击毁。击毁鱼雷 1 型你获得 25分。鱼 雷 2 型较大,但是它比较狡猾,只有击中它的中心部分而不是触角才能击毁它。当然,鱼雷的任何一点 都可以攻击飞船。击毁鱼雷 2 型你获得 45分 当你碰到墙壁或者鱼雷而损毁掉飞船时,游戏结束,显示闪烁的 Game Over 字符串和你的最后 得分。闪烁 5秒后, Game Over 屏幕变回演示画面,等待重新开始游戏。 另外,这个应用程序带有一个屏幕保护功能,因为原 EV-LM3S811 板的 OLED 显示器有和 CRT类似的烧毁特性。如果在演示模式 20秒内没有开始游戏,游戏屏保就被激活(换言之,屏保在游戏 过程中不会出现)。屏保是个简单的随机像素的显示,使用和 EV-LMS3S811版的应用程序生命游戏 (Game of Live)一样的算法。我决定简化这个实现,因为像素的混合算法不能带给我们别的新的或有趣的 行为表现。在屏保运行了一分钟后,显示器被清空,只有一个随机点出现在屏幕上。这一点和原版 QuickStart应用程序不一样,原程序清空屏幕并开始闪烁 USER 发光二极管。我改变了这个表现,因为 USER 发光二极管有更好的用途(去显示 IDLE 循环的活动状态)。 图 1 运行在 Windows XP 的 DOS 窗口中的“飞行和射击”游戏 保留中文简体翻译的全部版权 anymcu@gmail.com 2010 23