所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开

【大侦探趣味障碍赛】密室逃脱

ZZ小海鸥 ZZ小海鸥 2019-08-17 09:51:35

剧情缘起:

       一个充满好奇心的小男孩看到了机器人小加,跟机器人对话,但是小加不理小男孩,小男孩不停逗,最后机器人生气了,他把小男孩传送进了一个密室里。在密室里,小男孩必须自己想办法找到出门的钥匙才能成功逃脱。最后在我们的泽泽小朋友(参赛选手)的帮助下,小男孩找到了钥匙,成功逃脱密室。出来后,他们还在刚刚的地方,而机器人还是老样子不说话,小男孩迷惑了,难道刚刚做梦啦?

      是梦还是不是梦呢?让我们一起来玩密室逃脱吧。

材料清单 材料清单
2x
micro:bit主控板
1x
boson扩展板
1x
能兼容掌控板和bit的扩展板
1x
单神经元模块
2x
按钮模块
1x
风扇模块
1x
计数模块
1x
灯带
1x
led灯模块
步骤1 步骤1
设计角色场景

采取实时模式布置情景。

1.添加舞台背景:故事发生和结束时的背景、密室背景。

projectImage
projectImage

2.添加机器人角色、小男孩达尼角色(达尼走路,两个造型)。

3.编辑脚本,设计开始的场景。

机器人小加的脚本:

projectImage

小男孩达尼的脚本:

projectImage

4.添加密室里的角色。让密室里东西通过鼠标点击放大查看,所以每个可以点击的部分,都截图同样大小作为按钮触发。总共角色为:按钮、壁画、柜子、箱子(另外画的)、花瓶、门、柜灯。

之后放大的为整个舞台大小的每一个部分的截图,当作一个放大查看的效果(角色名称为密室**)。

另外还做好标题,帮助说明。

projectImage

5.编辑脚本,设计密室关卡。设计花瓶那里是空的,点击花瓶,显示密室花瓶场景,点击花瓶场景,显示这里只有一个花瓶。

花瓶脚本:

projectImage

密室花瓶脚本:

projectImage

6.编辑脚本,设计密室关卡。设计壁画那里是空的,点击壁画,显示密室壁画场景,点击密室壁画场景,显示这里只有一个壁画。

壁画脚本:

projectImage

密室壁画脚本:

projectImage

7.编辑脚本,设计密室真正关卡。点击柜子,显示密室柜子场景,点击密室柜子场景,得到一把钥匙,询问钥匙可以开什么,如果是开箱子,是正确的,如果是开门,就是错误的。

柜子脚本:

projectImage

密室柜子脚本:

projectImage

8.编辑脚本,设计密室真正关卡。点击箱子,显示密室箱子场景,点击密室箱子场景,使用钥匙,询问钥匙获得的钥匙是哪把,如果选择的是正确的钥匙,打开箱子,获得实物万花筒(递给小朋友万花筒,小朋友挑战万花筒获得密码)。

(后面做完所有设计后,准备把这里加入bit主控板唤醒时,就是获得万花筒这里,将万花筒程序放在这里,通过实时模式激活万花筒,然而很尴尬地发现当初编写程序时,居然没有选择主控板bit了,然后现在换上主控板里面所有的程序全没了,所以……时间都不太多了,想着先上交了先,以后有时间再换上重新做吧。)

箱子脚本:

projectImage

密室箱子脚本:

projectImage

9.编辑脚本,设计密室真正关卡。点击柜灯,显示密室柜灯场景,点击密室柜灯场景,使用获得的密码,询问获得的密码是什么,如果选择的是正确的密码,获得最后的彩灯宝盒。(递给小朋友彩灯宝盒,小朋友挑战宝盒,从获得电风扇中获得钥匙。)(再次说明:本来这里是在填写出正确密码后,打开无线,发送无线通信到彩灯宝盒的bit板上,从而激活宝盒,但是实时模式的主控板忘记选了。)

柜灯脚本:

projectImage

密室柜灯脚本:

projectImage

10.编辑脚本,设计密室真正关卡。点击门,显示密室门场景,点击密室门场景,使用钥匙,询问钥匙获得的钥匙是哪把,如果选择的是正确的钥匙,打开门,逃离密室。

门脚本:

projectImage

密室门脚本:

projectImage

11.总体逃脱密室流程为:从柜子上获取钥匙(钥匙是开箱子的),得到钥匙打开箱子,打开箱子后获得实物万花筒,挑战万花筒获得密码,使用密码打开柜灯,获得实物彩灯宝盒,挑战彩灯宝盒获得钥匙,使用钥匙打开门,逃离密室成功。

12.编辑脚本,标题、按钮、帮助说明、返回。

标题脚本:

projectImage

按钮脚本:

projectImage

帮助说明脚本:

projectImage

返回脚本:

projectImage

13.编辑脚本,设计逃脱密室成功后的场景。

小加完整的脚本:

projectImage

小男孩达尼的密室和密室逃离后的脚本:

projectImage
步骤2 步骤2
配音情景

泽泽小朋友配音,完成声音脚本。

projectImage
projectImage

小男孩达尼脚本:

projectImage

机器人小加脚本:

projectImage
步骤3 步骤3
设计制作万花筒

1.准备材料:bit、boson扩展板、计数模块、led灯、按钮,本来想用两个按钮做万花筒,不告知泽泽小朋友哪个是有效按钮(可以计数)、哪个是无效的按钮(可以置零),可惜身边按钮没了,于是就只用一个按钮做了,然后置零用bit板上的A按键。(如果用bit板上的B按键来计数,发现没有直接使用按钮模块灵活。)

再次说明:后期做完所有设计后,准备把这里换在实时模式的获得万花筒那里,通过实时模式激活万花筒,然而很尬尬地发现当初编写程序时,居然忘记选择主控板bit了,然后换上主控板里面所有的程序全没了,所以好郁闷了。时间都不太多了,想着先上交了先,以后有时间再换上bit实时模式的脚本吧。

这里使用实时模式会更好,现在我这个是上传模式。(因为忘记了添加主控板……)

projectImage

2.搭建:扩展板P1上接计数模块置零输入口,计数模块的计数输入口接按钮,输出口接扩展板P0,扩展板P12接LED灯。

计数模块认识:计数模块可以通过接收输入接口的高脉冲信号来实现计数功能。计数模式下,当接收到置零口的低电平信号时,计数清零。(学习链接http://wiki.dfrobot.com.cn/index.php?title=%E8%AE%A1%E6%95%B0%E6%A8%A1%E5%9D%97)

projectImage

3.编辑程序——筒的密码。

projectImage

3.实现效果:通过计数模块,不断按下按钮增大led灯的亮度,当灯亮度足够时,黑暗的万花筒中就看见了密码。

4.制作设计万花筒外观。(家长悄悄写个密码)(鞋盒外观、纸板弄漏洞、胶带纸固定纸板、背胶固定模块等)

projectImage

家长在里面写上密码数字。

projectImage
projectImage
projectImage
projectImage

透过底部洞口看里面,按钮按下,启动计数模块,数值越大,灯越亮,就能看见里面密码。

projectImage

附上看到的视频效果:拍的有点糊,通过视频还是很难拍清。

步骤4 步骤4
设计制作彩灯宝盒

1.准备材料:bit、兼容bit和掌控板的扩展板、灯带、风扇、按钮、单神经元模块。

projectImage

2.学习神经元,输入端接按钮,输出端接扩展板的P1接口,风扇接扩展板P0接口,灯带接扩展板P2接口。

按住学习按钮不放,使用一定规律不断按下按钮(10秒内完成),然后放开学习按钮。

测试时,只要按出之前输入时的按钮规律,输出指示灯亮了,就是成功输出。

(学习链接http://wiki.dfrobot.com.cn/index.php?title=%E5%8D%95%E7%A5%9E%E7%BB%8F%E5%85%83%E6%A8%A1%E5%9D%97)

3.编写程序,设计风扇在开始时都是一直在转,让神经元输出口P1成功输出时,P0接口上的风扇停止转。

4.按钮规律获取通过灯带显示出来,泽泽小朋友观察灯带显示规律得出按钮规律。

风中智取程序脚本如图:

projectImage
projectImage

5.为了让万花筒获取密码与彩灯宝盒实物有关联,其实还是那句,实时模式无线通信让两个bit链接起来更好,在密码成功输入之后,通过bit的无线广播功能,激活彩灯宝盒。可是我的实时模式程序中,主控板忘记添加了,希望我还有时间改。(呜呜呜~~~)

6.制作设计彩灯宝盒外观。(飞机盒纸板、胶带纸等)让风扇朝向盒子口转,让我们必须停下风扇才能拿到钥匙,知道钥匙外观,从而逃脱密室。

projectImage
projectImage

最终实现效果:风扇一直转,不能停,只有在输入对的按钮指令,才能关闭风扇5秒,然后取出钥匙。

projectImage

附上视频效果:

步骤5 步骤5
密室逃脱游戏挑战——视频

代码码云地址:https://gitee.com/flfengling/chuangke_project.git

Makelog作者原创文章,未经授权禁止转载。
0
0
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
|
[[c.comment_content]]