查看“Bingo游戏机03”的源代码
←
Bingo游戏机03
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 1000px;" |- | ==概述== [[File:anywhere_Bingo game 1.jpg|600px|center]] 优化检测位置程序,防止“乱拧瞎蒙”的方法刷分。 <br> ==模块清单== ===模块=== {|class="wikitable" |- |模块||数量||功能 |- |[[mCookie-Core/zh|mCookie-Core]]||1||核心板 |- |[[mCookie-Battery|电池盒]]||1||程序下载和供电模块 |- |[[mCookie-Hub/zh|mCookie-Hub]]||1||传感器转接板 |- |[[mCookie-OLED/zh|mCookie-OLED]]||1||显示 |- |[[Sensor-Potentiometer/zh|电位器]]||1||检测旋转 |- |[[Sensor-Buzzer/zh|Buzzer]]||1||发声 |} ===其他设备=== *USB数据线*1 *传感器连接线*2 *传感器外壳 *乐高或其它固定结构 [[File:anywhere_Bingo game 2-module.jpg|600px|center]] ==模块搭建== ===搭建=== [[File:anywhere_Bingo game 2-step.jpg|600px|center]] *将模块和传感器组装起来: **将红色的核心模块,电池底座、OLED与绿色的扩展模块吸在一起; **将蜂鸣器连接在Hub的8/9管脚; **将旋转电位计连接在Hub的A0管脚。 **将USB连接线一端插入电池底座,另一端连接电脑。 ==编程== ===编程思路=== 判断对齐成立以后,如果100毫秒后旋转电位计值无变化,则成功对齐,其他程序不变。 [[File:mixly-ctrl-Bingo game 3.jpg|600px|center]] ===使用的程序块=== *[[“OLED显示-打印”程序块]] *[[“变量声明”、“变量赋值”程序块]] *[[“文本”程序块]] *[[“随机数”程序块]] *[[“函数”程序块]] *[[“旋转电位器”程序块]] *[[“蜂鸣器开-频率”程序块]] *[[“延时”程序块]] *[[“计算”程序块]] *[[“计时器开始”程序块]] *[[“持续时间”程序块]] ===开始编程=== '''1、声明变量,存储数据''' <br> a变量用来存储随机数,a_random存储随机变化数,b存储文字移动范围,score变量用来储存分数,bingo变量用来存储数字对齐状态,hold变量用来存储对齐一瞬间旋转电位计的原始值。 [[File:mixly-ctrl-mixly-ctrl-Bingo game 3-code.jpg|600px|center]] <br> '''2、 更改BINGO函数内容''' <br> 如果判断到数字对齐,则将旋转电位计的值存入hold(这里用的是没经过换算的原始值,因为原始值比较精确),然后延时100毫秒之后如果旋转电位计的值等于hold(100毫秒内,旋转电位计没动过),则认为对齐,执行加分、响蜂鸣器程序。 [[File:mixly-ctrl-Bingo game 3-code1.jpg|600px|center]] '''3、开始函数和显示函数不需要做任何更改。''' <br> [[File:mixly-ctrl-Bingo game 3-code2.jpg|600px|center]] <br> '''4、执行函数''' <br> 最后执行每个函数就行了。 [[File:mixly-ctrl-Bingo game 3-code3.jpg|600px|center]] <br> <br> '''测试结果''' <br> 上传成功后,OLED第一行显示一个与上次不同的随机数,第二行显示“1 2 3 4 5 6”, 第三行显示SCORE:0。旋转电位计“1 2 3 4 5 6”移动,当随机数与相应数字对齐时,并且保持旋转电位计100毫秒不动,第三行的分数增加,并且蜂鸣器响起。 <br> [[File:anywhere_Bingo game 1.jpg|600px|center]] <br> <br> '''Q:现在数字对齐后随机数才会改变,我想增加游戏难度,能隔一段时间,更换一次随机数,应该如何做呢?''' <br> '''A:当然可以,我们增加计时函数,如果超过一定时间,就重新生成随机数。''' <br> <br> 在生成随机数之后开始计时,计时超过3000毫秒时,蜂鸣器低音嘀、红灯闪烁一次、miss设为1(重新生成随机数)。 [[File:mixly-ctrl2-Bingo game 3.jpg|600px|center]] <br> '''1、变量声明,存储数据''' <br> 增加miss变量用来记录超时状态。 执行time_out函数(超时判断)。 [[File:mixly-ctrl-Bingo game 3-code4.jpg|600px|center]] '''2、更改start函数''' <br> 如果bingo等于1或miss等于1(已超时),则执行重新生成随机数程序,miss变量清零,timer1计时器开始(重新计时)。 [[File:mixly-ctrl-Bingo game 3-code5.jpg|600px|center]] '''3、time_out函数内容。''' <br> 如果timer1时间大于3秒(随机数已经生成3秒了,还没对齐数字), 则红灯闪烁一下、蜂鸣器发出一声低音嘀声。 miss变量设为1(通知start函数已超时)。 [[File:mixly-ctrl-Bingo game 3-code6.jpg|600px|center]] 4、显示函数不需要更改。bingo函数不用改。 [[File:mixly-ctrl-Bingo game 3-code7.jpg|600px|center]] ==技术规范== *电位器详细参考[[Sensor-Potentiometer/zh|电位器]] *OLED显示屏详细参考[[mCookie-OLED/zh|mCookie-OLED]] ==相关案例== *[[Bingo游戏机01]] *[[Bingo游戏机02]] *[[Bingo游戏机04]] *[[Bingo游戏机05]] ==Q&A== |}
返回至
Bingo游戏机03
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息