Bingo游戏机04

来自Microduino Wikipedia
Yanglibin@microduino.cc讨论 | 贡献2016年10月25日 (二) 08:46的版本 (创建页面,内容为“{| style="width: 1000px;" |- | ==概述== 600px|center 优化检测位置程序,防止“乱拧瞎蒙”的方法刷分。 <br...”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

概述

优化检测位置程序,防止“乱拧瞎蒙”的方法刷分。

模块清单

模块

模块 数量 功能
mCookie-Core 1 核心板
电池盒 1 程序下载和供电模块
mCookie-Hub 1 传感器转接板
mCookie-OLED 1 显示
电位器 1 检测旋转
Buzzer 1 发声
ColorLED 1 彩色灯

其他设备

  • USB数据线*1
  • 传感器连接线*3
  • 传感器外壳
  • 乐高或其它固定结构

模块搭建

搭建

  • 将模块和传感器组装起来:
    • 将红色的核心模块,电池底座、OLED与绿色的扩展模块吸在一起;
    • 将蜂鸣器连接在Hub的8/9管脚;
    • 将旋转电位计连接在Hub的A0管脚;
    • 将全彩LED连接在Hub的6/7管脚。
    • 将USB连接线一端插入电池底座,另一端连接电脑。

编程

编程思路

其他程序思路与上堂课一样,需要加上分数条件判断,当得分等于15时,绿灯亮1秒后熄灭,分数归零。

使用的程序块

开始编程

1、声明变量,存储数据


'2、 胜利判断
win函数内容:如果score等于15(得够15分)。 则绿灯点亮1秒,score变量清零。

3、start函数无更改。


4、display函数无更改。

5、BINGO函数无更改。

6、time_out函数无更改。



测试结果
上传成功后,OLED第一行显示随机数(3秒没对齐则重新生成),第二行显示“1 2 3 4 5 6”, 第三行显示SCORE:0。旋转电位计“1 2 3 4 5 6”移动,当对齐一段时间后才得分,第三行的显示得分会改变,当得分超过15时,绿灯亮1秒后灭,游戏重新开始。



Q:检测摇杆按下,开始游戏,游戏结束显示游戏用时。
A:今天我们学习一个新的程序块,可以在程序初始时执行一次,之后再也不执行。

开始初始化函数,等待摇杆按下开始游戏,计时开始,得到15分后结束计时,再等待摇杆按下重新游戏。


1、time变量用来存储完成时间。

2、初始化函数编写
初始化函数等待摇杆按下(开始键),计时器timer2开始计时,用来存储记录完成时间。

3、win函数更改
如果到达15分,计时器timer2的值存入time变量, time变量除1000(因为时间原始值单位是毫秒)。OLED屏上显示time的值。绿灯亮1秒。等待摇杆按下(开始键) score变量清零。计时器timer2重新开始。

4、start函数不用改。

5、BINGO函数无更改。

6、time_out函数无更改。

技术规范

相关案例

Q&A