6.7 基于Arduino的“双人乒乓”游戏
6.7.1 实现的功能
本节将使用LabVIEW及Arduino设计实现一个简单的“双人乒乓”游戏。游戏双方各控制一个“拍”上下移动,击打弹过来的小球,如果某一方没有击中弹向自己方向的小球而致使小球飞出矩形区域外则游戏结束,击打弹球次数较多的一方获胜。可以实时显示比赛分数,并能通过控制小球的速度来增加游戏难度。
6.7.2 所需硬件
Arduino Uno R3板、摇杆模块。一人使用摇杆控制,另一人可以使用两个按键控制(遥控杆模块上面的按键B和按键C),进行“双人乒乓”游戏。
6.7.3 程序设计及实现
本示例中前面板的设计主要用一个二维布尔数组实现,这个二维数组的大小也是固定的31行50列,两个“乒乓球拍”是用一个包含6个元素的布尔数组来实现的,“乒乓球”用布尔控件来实现。程序前面板界面如图6-39所示,程序框图如图6-40所示。
从程序框图中可以看出,本示例中,Arduino板卡的主要作用是进行遥控杆模块的输入信号采集,控制两个“乒乓球拍”。在程序界面中“乒乓球拍”和“乒乓球”的运动都是通过数组函数操作实现的。
图6-39 乒乓游戏前面板
图6-40 乒乓游戏程序框图
主程序框图中有4个子VI,分别为pong for x(SubVI).vi、pong for y(SubVI).v