查看“Bingo游戏机02”的源代码
←
Bingo游戏机02
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 1000px;" |- | ==概述== [[File:anywhere_Bingo game 1.jpg|600px|center]] 通过旋转“旋转电位计”将第二行的“1-6”6个数字和第一行随机生成的数字对齐(如果第一行随机生成数字2,则需要将第二行的2和第一行的2对应),对齐后蜂鸣器发出声音,Score+1。 <br> '''分析''' [[Bingo游戏机01]]中设置了b的变化范围是0-90。 根据图中的a,b值列出对应关系公式 : <br> '''a = (b+18) / 18简化为 a = b / 18+1''' <br> 这样对齐的要求需要非常高,不能有一点点的偏差。难度会比较高。因此在可变区间在范围之内对齐就行。 [[File:anywhere_Bingo game 2 analysis1.jpg|600px|center]] [[Bingo游戏机01]]中设置了b的变化范围是0-90。我们通过一个算式来判断对齐的数字:'''对齐数字=(b+27)/18''' [[File:anywhere_Bingo game 2 analysis2.jpg|600px|center]] ==模块清单== ===模块=== {|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 1-step.jpg|600px|center]] *将模块和传感器组装起来: **将红色的核心模块,电池底座、OLED与绿色的扩展模块吸在一起; **将蜂鸣器连接在Hub的8/9管脚; **将旋转电位计连接在Hub的A0管脚。 **将USB连接线一端插入电池底座,另一端连接电脑。 ==编程== ===编程思路=== 声明变量存数据,编写生成随机数的start函数,符合条件则生成一个随机数;编写屏幕显示的display函数,在屏幕上显示游戏界面;编写判断对齐的BINGO函数,对齐后加分并响起蜂鸣器。最后运行所有函数。 [[File:mixly-ctrl-Bingo game 2.jpg|600px|center]] ===使用的程序块=== *[[“OLED显示-打印”程序块]] *[[“变量声明”、“变量赋值”程序块]] *[[“文本”程序块]] *[[“随机数”程序块]] *[[“函数”程序块]] *[[“旋转电位器”程序块]] *[[“蜂鸣器开-频率”程序块]] *[[“延时”程序块]] ===开始编程=== '''1、声明变量,存储数据''' <br> bingo变量用来存储数字对齐状态。 [[File:mixly-ctrl-mixly-ctrl-Bingo game 2-code.jpg|600px|center]] <br> '''2、编写生成随机数的start函数,每次只随机一次''' <br> 如果bingo变量为1(数字已对齐,可以重新生成随机数),则生成新随机数,bingo变量设为0。 [[File:mixly-ctrl-Bingo game 2-code1.jpg|600px|center]] '''3、编写屏幕显示的display函数''' <br> display函数没更改。 [[File:mixly-ctrl-Bingo game 1-code2.jpg|600px|center]] <br> '''4、编写BINGO函数,数字对齐时计分蜂鸣器响''' <br> 如果(b+27)/18等于a(数字已对齐),则将bingo设为1(通知start函数:数字已对齐),score加1(加分)、蜂鸣器发出嘀的一声。 [[File:mixly-ctrl-Bingo game 2-code3.jpg|600px|center]] <br> '''5、执行函数''' <br> 执行“start”、“display”和“BINGO”三个函数。 [[File:mixly-ctrl-Bingo game 2-code4.jpg|600px|center]] <br> <br> '''测试结果''' <br> 上传成功后,OLED第一行显示一个随机数,第二行显示“1 2 3 4 5 6”, 第三行显示SCORE:0。旋转电位计“1 2 3 4 5 6”移动,当随机数与相应数字对齐时,第三行的分数增加,并且蜂鸣器响起。 <br> [[File:anywhere_Bingo game 1.jpg|600px|center]] <br> <br> '''Q:如果两次随机出的数字相同,就可以连续得分,这个似乎不太公平呢!''' <br> '''A:保证下次出现的随机数和上次不同。如果随机数与原来相同,就再随机一次,直到出现的随机数与上次不同为止。''' <br> <br> 需要新增加一个变量存储新生成的随机数(a_random),当之前随机数与新生成随机数相同,则重新生成随机数。否则将a_random的值存入a。BINGO、display函数保持不变。 [[File:mixly-ctrl2-Bingo game 2.jpg|600px|center]] <br> 编程 [[File:mixly-ctrl-Bingo game 2-code5.jpg|600px|center]] ==技术规范== *电位器详细参考[[Sensor-Potentiometer/zh|电位器]] *OLED显示屏详细参考[[mCookie-OLED/zh|mCookie-OLED]] ==相关案例== [[Bingo游戏机01]] [[Bingo游戏机03]] [[Bingo游戏机04]] [[Bingo游戏机05]] ==Q&A== |}
返回至
Bingo游戏机02
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
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
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息