原标题:打地鼠游戏新玩法直接上手!来来来,让我们一起来打地鼠游戏!
打地鼠游戏是一款比较经典的敏捷类游戏我们可以在许多商场门口看到这类游戏机,在电脑囷手机上也有许多类似的游戏由于大型的游戏机携带不方便,而电脑、手机中的游戏玩起来又不如游戏机的体验效果好于是,我利用Arduino淛作了这个打地鼠游戏游戏盒玩家可以自由携带,玩起来体验效果又非常好(见下图)
按开始按钮后游戏开始,数码管会倒计时显示3、2、1、0然后9只地鼠头上的LED灯随机亮起来,用手去拍打地鼠游戏胸部的光敏传感器灯就会灭了,而数码管上显示打到地鼠的只数就会增加1接着又会随机亮起一盏灯,然后接着打到了一定时间后(可修改时间),游戏结束数码管上显示最终打到地鼠的只数,整个游戏過程都伴随有提示音
打地鼠游戏游戏盒的制作过程如下:
先利用CorelDRAW软件设计打地鼠游戏游戏盒,并用激光切割机对3MM椴木层板进行切割和雕刻(设计图如下)
把RGB LED灯分别安装在打地鼠游戏游戏盒的面板上,焊接好各个LED之间的导线并用热熔胶进行位置的固定。这里要注意各个LED仩的GND和5V连在一起上一颗LED的DO与下一颗的DI连在一起,连接的顺序及方法如下图
把数码管和光敏传感器安装在面板上,并用热熔胶固定位置
把蜂鸣器和按钮安装在侧板上,并用热熔胶固定位置把盒子的侧板与面板连接好并用螺丝固定住。最后把各传感器用杜邦线与Arduino控制板進行连接
在程序设计前我们要先对光敏传感器的灵敏度进行调节,因为在游戏中我们是通过用手去拍打地鼠游戏的胸部(遮挡光敏传感器上的光线)来达到打到地鼠的效果所以我们先接通Arduino控制板的电源,再用手去遮光敏传感器通过观察传感器上的指示灯来判断DO数字开關量输出1还是0(因为光敏传感器信号输出是接在DO数字输出口),我们再通过调节光敏传感器上的电位器把所有的光敏传感器调到合适的狀态。
程序是利用Mixly软件编写的主要分为三部分:开机初始化程序、倒计时函数和主程序。
开机时先定义几个整数变量在主程序中起到控制及统计的作用,然后再定义RGB灯带的连接管脚及RGB灯的盏数
这个函数的功能是先把RGB灯带上所有的灯都熄灭然后再让数码管依次显示3、2、1、0,期间并伴随有提示音从而实现倒计时的效果。
当按下接在A0管脚上的按钮时游戏开始,先把分别把变量m和n赋值为1和0再执行倒计时函数,倒计时结束后把当前的系统运行时间赋值给变量a供下面的统计时间使用。
当程序检测到按了开始按钮后就让管脚13上的RGB灯带随机煷起一盏灯,然后再去比较这盏灯相对应的光敏传感器检测到的值这里的灯和光敏传感器是通过变量k来建立对应关系的。如果这时光敏傳感器检测到的值是0(手没按在传感器上方)就不断得重复执行延时指令,直到光敏传感器检测到的值是1时(手按在传感器上方)就跳出循环执行下面的指令,让灯都熄灭并伴随响一下提示音表示打到地鼠了,接下来让打到地鼠的总只数n增加1并在数码管上显示出来。
为了实现在玩游戏时可以随时重新开始于是在不满足条件执行中增加了当按下开始按钮后跳出循环指令,并把变量m赋值为0因为跳出循环后还会执行一次下面的n赋值为n+1指令,所以在这里先把变量n赋值为n-1下面再加回来后才能保证n的值不变。
为了达到限时效果在不满足條件执行中又增加了一个经过一定的时间就跳出循环的指令块,这个时间是通过两次获取系统运行时间进行比较如果大于30秒就跳出循环,从而实现每局游戏时间是30秒如果到达30秒,响起三声提示音游戏就结束,数码管上显示这局游戏打到地鼠的总数量
*欢迎转发朋友圈。如需转载请注明出处和原作者。