概述
做一个双人对战的点球大战游戏机,检测是否有球通过球门并计分。
适合套件:mCookie302
模块清单
模块
其他设备
- USB数据线*1
- 传感器连接线*4
- 传感器外壳
- 乐高或其它固定结构
模块搭建
搭建
- 将模块和传感器组装起来:
- 将红色的核心模块,电池底座与绿色的扩展模块吸在一起;
- 将2盏全彩LED灯连接在Hub的6/7管脚;
- 将红外反射传感器连接在Hub的A0/A1、A2/A3管脚。
- 将USB连接线一端插入电池底座,另一端连接电脑;
编程
使用的程序块
编程思路
如果1号门发现有球,且上一刻记忆没有球,则判断为进球(记忆有球),如果1号门发现无球,且上一刻记忆有球,则判断为球通过(加分并清除记忆);2号球门同理。
开始编程
1、彩灯准备,变量声明赋值
彩灯准备:6号管脚上接2个彩灯。
声明一个名叫score1的变量,用来记录1号选手分数。
声明一个名叫player1的变量,用来记录1号球门状态。
声明一个名叫score2的变量,用来记录2号选手分数。
声明一个名叫player2的变量,用来记录2号球门状态。
将两位选手比分以“1号分数:2号分数”的格式显示在电脑屏幕上。
2、判断1号球门通过,加分数
如果1号球门状态为0(没进球),则执行内部程序。如果A0管脚红外反射传感器的距离值小于600(发现进球)。则1号球门状态设为1(进球),并且亮1号绿灯。
如果1号球门状态为1(进球),则执行内部程序。如果A0管脚红外反射传感器的距离值大于650(发现球通过了球门)。则1号球门状态设为0(可以接受下一次射门了),变量score1加1,1号灯熄灭。
3、判断2号球门通过,加分数
如果2号球门状态为0(没进球),则执行内部程序。如果A2管脚红外反射传感器的距离值小于600(发现进球)。则2号球门状态设为1(进球),并且亮2号绿灯。
如果2号球门状态为1(进球),则执行内部程序。如果A2管脚红外反射传感器的距离值大于650(发现通过了球门)。则2号球门状态设为0(可以接受下一次射门了),变量score2加1,2号灯熄灭。
测试结果
上传成功后,用物体靠近红外反射传感器再拿开,可以看到绿灯闪一下,检测成功。
技术规范
相关案例
Q&A
|