3.1 功能及总体设计

本项目将Arduino开发板与PS2摇杆按钮模块相连,通过PS2摇杆XY两个坐标轴的运动输入到Processing转化为图像上主飞船,使用发射不同子弹和暂停重置功能。

要实现上述功能需将作品分成两部分进行设计,即Arduino开发板和Processing模块。Arduino开发板的主要功能是检测元件信号输入;Processing主要功能是作为游戏的载体显示游戏画面,并显示现有的分数,让使用者进行多种模式选择,可以单人或双人对战,并且敌机死亡后会掉落物品,飞船得到物品后加血及加子弹。

1.整体框架图

整体框架如图3-1所示。

图3-1 整体框架图

2.系统流程图

系统流程如图3-2所示。

图3-2 系统流程图

程序启动后,初始化各对象,例如背景、主飞船,并且从positions.txt文件中读取历史分数。初始化结束后,进行模式选择,根据键盘按键所选择的数字显示模式。之后程序检测是否由摇杆控制,如未接入则由键盘控制,开始生成敌机,并且进行实时相撞检测。每次相撞检测都会判定主飞船是否有生命,若相撞则主飞船生命减1,直到主飞船生命为0,如判定主飞船无生命,游戏结束,窗口跳出“Game Over”字样。

3.总电路图

系统总电路如图3-3所示,引脚连接如表3-1所示。

图3-3 系统总电路图

表3-1 引脚连接表