此帖,让mind+不再“单机”

2019-08-294.6万
精华项目
AI 快速预览详细 收起
本文介绍了如何使用mind+图形化编程软件和MQTT模块实现双人联机游戏。通过SIoT本地物联网功能,两台主机可以实时同步对抗。项目包括角色设计、程序编写及调试步骤。适合STEM教育场景,激发孩子的编程兴趣。关键词:mind+联机游戏, STEM教育, 双人实时对战, MQTT模块, 图形化编程, scratch, SIoT本地物联网, 联机弹弹球, 创客文化, DFRobot, 实时模式, 教学灵感, 编程启蒙, 少儿编程入门, 两台电脑联机游戏。


大家好。今天给大家分享一个mind+联机项目游戏,可以双人联机玩转mind+(不是一台电脑两人玩哦!)。

      鉴于之前和同事出差打乒乓球的灵感。我用mind+做了一个可以联机的类似于乒乓球的游戏。我们先来一个视频压压惊。


    【游戏说明】两台主机通过mind+实时模式中MQTT模块进行连接(此模块类似与“广播”功能)。30s的时间,进行对抗赛,分差为A-B的得分,大于0,A获胜;小于0,B获胜。当球打到对方的背景色时加一分。两个画面实时同步。

      熟悉mind+或scratch等图形化编程软件的老师应该知道,实时模式一般给我们的印象都是“单机游戏”,只能在一台电脑上玩。那作为一个经历过红警、冰封王座等局域网游戏的“叔叔”,也想把mind+做成一个联机游戏。于是就开始了胆大心细的尝试。
此帖,让mind+不再“单机”图13


       这个项目是在我学习mind+官网上SIoT本地物联网物联网内容时想到的。那接下来就要开始进行讲解了。

      在阅读下面内容之前,务必先学习mind+官网中SIoT本地物联网中的内容。(https://mc.dfrobot.com.cn/thread-281102-1-1.html

     或下载学习附件中的“mind+物联网实施模式无硬件”文件

以上是官方教程,实时模式无硬件介绍到此为止。接下来就是对此项目讲解环节。
      首先我们来mind+里面的几个模块
此帖,让mind+不再“单机”图1

      通过以上官方教程的指导。我们可以进行一个小结:
      1、mind+可以通过程序将文本、数字等信号发送到SIoT网页端,并储存;
      2、SIoT网页端可以向mind+发送特定的指令,当mind+收到特定指令时,可以执行自定义编写的程序;
     【思考】(我学习时内心的独白)
      1、既然SIoT网页端可以向连接相同网络和地址的mind+发送指令,是否可以发出一条指令后,两个主机上的mind+同时接收到相同的指令?
      2、是否可以A主机mind+发送消息→SIoT网页端→B主机mind+接收信息→执行程序?
      3、“MQTT”模块,是否相当于一个可以跨越主机的“广播”模块?
      答案是  YES!
     【注意】MQTT模块只有5个通道,意思是只能发送5个不同类别的“广播”。


联机弹弹球游戏开始
设计思路

确定整个游戏所需要的角色:滑板A、滑板B、球。(背景在背景库中选择后,手绘加上两个底色即可)
      A主机-A滑板
      1、实现效果:A主机控制滑板A,B主机的滑板A和A主机同步。
      2、程序示例:此帖,让mind+不再“单机”图2
      3、程序说明:此处选择的是Topic_0通道,发送特定的指令(up&down)。
       A主机-B滑板
      1、实现效果:受B主机控制,同步进行。
      2、程序示例:此帖,让mind+不再“单机”图3
       3、程序说明:此处还是选择Topic_0通道,发送的特定指令(up1&down1)区分A滑板的指令。
      A主机-球
      1、实现效果:点击绿旗时,球从中间顶点向下随机方向准备。点击球时发射。碰到边缘反弹;碰到滑板向对面随机角度反弹;碰到对方底色得分。
      2、程序示例:此帖,让mind+不再“单机”图4此帖,让mind+不再“单机”图5此帖,让mind+不再“单机”图6此帖,让mind+不再“单机”图7
       3、程序说明:
         图一,设置初始值,且球的初始方向同步(通过变量储存数据,发送到
Topic_1)。注意在MQTT初始化参数*这个部分要添加多个通道。
此帖,让mind+不再“单机”图8
         图二,是接到图一后面的程序,通过一个通道让双方计分并显示的分数同步。
         图三,由主机A点击小球,两边同时开始游戏并开始计时。控制小球碰到滑板A和滑板B时,通过两个通道(Topic_2、Topic_3)反弹效果同步。
         图四,同步计时并公布比赛结果。(此程序也可以放在前面任意两个角色中)


      B主机-A滑板
      1、实现效果:受A主机控制,在B主机同步。
      2、程序示例:此帖,让mind+不再“单机”图9
      3、程序说明:程序和A主机的程序是相对应的。注意数据要一致。
      B主机-B滑板
      1、实现效果:由B主机控制,设置初始值,同步A主机。
      2、程序示例:此帖,让mind+不再“单机”图10
       3、程序说明:此处连接了本地SIoT。
      B主机-球
      1、实现效果:和A主机同步运行
      2、程序示例:此帖,让mind+不再“单机”图11此帖,让mind+不再“单机”图12
      3、程序说明:和A主机小球的程序相对应。
Tips
1、滑板的尺寸需要点击其造型进行修改调整;
2、球和滑板的速度根据实际体验感调整移动距离;
3、开局说“go go go”是为了检验SIoT是否连接成功;
4、同一个角色内程序过多的话会影响同步的时效性;
5、此功能还可以做成聊天软件。


IoT物联网功能在结合硬件的使用中,功能会更加丰富、炫酷
对于初学者来说,做一个实时模式的联机游戏也是比较有成就感的
希望这篇帖子能够给更多老师一些教学的灵感
让创客的文化流行起来
不足之处,还请多多指教
(源程序代码见附件,欢迎体验)

End

局域网mind+程序.zip

24.05 KB, 下载次数: 15048

mind+物联网实时模式无硬件.zip

2.85 MB, 下载次数: 15807

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(10)
栎阳安琪
栎阳安琪
孩子,恕我直言,你做的是我之前热过的冷菜。
联机捉迷藏
MQTT的应用很早就有人出过教程了,在我们之前有很多先例。你要加把劲呀!争取更上一层楼!!!
代码满天
代码满天回复栎阳安琪
呃,所以贪吃蛇什么时候出联机,期待ing……
阿香去睡觉
阿香去睡觉
期末做一个
少东
少东
作者
回复阿香去睡觉
可以的!
Pk0ckbCpxjtn
Pk0ckbCpxjtn
感谢大佬!!!!!!!!!!!!!!!!!!!!
gada888
gada888
不错的教程
Cuijt
Cuijt
不错!
DFByw_XnB4X
DFByw_XnB4X
哇,很好玩的样子!!!
木子哦
木子哦
看完想玩一把~
春秋大仙
春秋大仙
太赞了~就需要这种学生肯定喜欢的项目!
rzyzzxw
rzyzzxw
好贴,真不错。
弱弱问一句,对面女同事不吵你们么。
rzyzzxw
rzyzzxw回复少东
这个帖子想法真棒,欢迎继续分享。
少东
少东
作者
回复rzyzzxw
哈哈。和谐社会,和谐办公。
Mary
Mary
好贴,真不错。
- 没有更多了 -