7153浏览
查看: 7153|回复: 24

[教程] 如何在mind+里做一个可以和朋友在不同局域网进行联机的程序

[复制链接]
本帖最后由 哎,就是玩 于 2022-1-29 15:39 编辑

相信不少人都玩过元气骑士吧。
就在近年,元气骑士推出了远程联机(测试版)模式如何在mind+里做一个可以和朋友在不同局域网进行联机的程序图1
那么我们能否在mind+里面设计一个类似的游戏并实现联机呢?答案是肯定的。
那么 mind+这样一个单人的编程软件如何做到远程联机?
这就需要MQTT消息了,我用的是easy lot,网址是https://iot.dfrobot.com.cn/index.html
各位想用 阿里云或者其他的也是可以的,原理不变
如何在mind+里做一个可以和朋友在不同局域网进行联机的程序图3
注册好了之后呢就要设置服务器参数了(不要关闭网址,待会还有用)
如何在mind+里做一个可以和朋友在不同局域网进行联机的程序图4
在mind+里面添加扩展,依照上图
然后从网络服务里面找到MQTT初始化连接
如何在mind+里做一个可以和朋友在不同局域网进行联机的程序图5
可以看到我们需要设置三个数据(我标记为A,B,C)
回到Easy lot 官网点击工作间
如何在mind+里做一个可以和朋友在不同局域网进行联机的程序图6
然后点击加号添加两个新设备名为(x坐标,y坐标(这个是用来好区分的,没啥实际意义))
如何在mind+里做一个可以和朋友在不同局域网进行联机的程序图7
然后将两个设备底下那一串字母粘贴到刚刚初始化MQTT参数的那个“C”位置(见上图)
如何在mind+里做一个可以和朋友在不同局域网进行联机的程序图2
然后将这两个码分别粘贴(lot id 粘贴到A,lot pwd 粘贴到B)(点击小眼睛可查看,直接复制也行)
如何在mind+里做一个可以和朋友在不同局域网进行联机的程序图8
这样做之后我们就完成了最基本的设置
接下来,正片开始
首先创建3个角色,两个人物,(随意人物),一个按钮
如何在mind+里做一个可以和朋友在不同局域网进行联机的程序图9
在两个角色头上加上自己和队友的标识,方便辨认(不加也行能看出来就可以)
如何在mind+里做一个可以和朋友在不同局域网进行联机的程序图10如何在mind+里做一个可以和朋友在不同局域网进行联机的程序图11
然后切换到自己的那个角色,开始编程
首先是万年不变的行走
如何在mind+里做一个可以和朋友在不同局域网进行联机的程序图12
别问为啥这么复杂,问就是贼丝滑。(嫌费事可以弄简单点也没事)
接下来重点来了(也是难点建议多看几遍)
如何在mind+里做一个可以和朋友在不同局域网进行联机的程序图13
创建两个变量,分别为本机代码和对方机代码
这个是怎么个用法和干啥的,一会会解释

如何在mind+里做一个可以和朋友在不同局域网进行联机的程序图14
然后就是循环执行,将x坐标发送到topic0也就是我们刚刚在Easylot里创建的设备x坐标
将y坐标发送到topic1也就是设备y坐标
这时候重点来了,为什么要加本机机号,这是为了区分自己和你联机的人发送的消息
由于这个消息的特性,你自己发的消息也会再次被接收一次,那么
如果双方都在发x坐标,y坐标,怎么分清楚是谁发的?
那不就乱了吗
所以要加上本机代码加以区分
至于这个发送的消息怎么被解析,后面会讲。
接下来转到角色“按钮”进行编程
如何在mind+里做一个可以和朋友在不同局域网进行联机的程序图15
把刚刚设置好的那个MQTT初始化参数模块复制到这里来,
按照图示进行编程注意,正在进行连接一定要单独放置,
否则会先提示正在连接再发起连接,(这样费时间)
然后设置本机代码为随机数那个模块,设置的随机数要在100到999之间
为的是让代码固定为3位数(方便后面进行解析)
然后提问请输入对方机代码,
这时候输入的对方机代码是为了后面对接收的消息进行解析用的(很重要)
类似于房间号码
下面转到“队友”角色进行编程
这块有点小复杂,可能会看不懂,多看几遍就好
如何在mind+里做一个可以和朋友在不同局域网进行联机的程序图16
这个就是解析代码,他的作用就是判断是否是你联机的对象发来的消息
并且将x、y坐标同步成为对方的x、y坐标
上面那个程序是x坐标,下面那个是y坐标,这个不多做解释了
可以看到条件是截取MQTT消息从1--3个字符,
这个就是截取了我们刚刚设置的对方机的代码(这也就是为什么一定要固定双方代码的位数了)
解析完毕后判断,如果等于设置的对方机代码,那么这条消息就是联机的人发过来的,
那么这个时候就可以将MQTT消息截取从第4--倒数第1个字符了(也就是截取出了发送的坐标)
下面y坐标的程序也是这样设置就可以。
到这里主干就做完了。
这时候我们可以做个试验,把对方机代码设置为本机代码,
这时候相当于你在和自己联机,如果发现角色“自己”与角色“队友”
保持一致,那么恭喜你,你成功了





SatJanuary-202201292391..png

本帖被以下淘专辑推荐:

赤星三春牛!  初级技神

发表于 2022-2-3 10:48:35


学费了学费了
回复

使用道具 举报

哎,就是玩  初级技师
 楼主|

发表于 2022-2-3 10:03:34


大佬学费了吗
回复

使用道具 举报

熊彦清  见习技师

发表于 2024-3-4 21:58:14

谢谢你,之前不会的东西都迎刃而解了
回复

使用道具 举报

哎,就是玩  初级技师
 楼主|

发表于 2022-1-29 15:40:31

各位大佬,制作不易求转播和支持
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-1-31 22:28:02

不错!!!!!!
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-1-31 22:28:19

感谢分享!!!
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-1-31 22:28:36

666666666666
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-2-1 15:31:09

厉害厉害!!!!!!
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-2-1 15:31:26

嗯嗯嗯嗯嗯嗯嗯
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-2-1 15:31:46

转播了一下
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-2-3 10:48:55

66666666666
回复

使用道具 举报

某用户  学徒

发表于 2022-2-6 15:38:59

相当不错,感谢分享。
回复

使用道具 举报

QQQQQQQ  初级技匠

发表于 2022-3-6 16:54:16

厉害厉害
回复

使用道具 举报

QQQQQQQ  初级技匠

发表于 2022-3-13 10:37:04

6666666666666666666666
回复

使用道具 举报

bobbi  初级技师

发表于 2022-3-13 11:37:43

厉害厉害
回复

使用道具 举报

tRnDWEx0q3iw  见习技师

发表于 2023-8-22 13:22:18

……你把艾比怎么了。
回复

使用道具 举报

tRnDWEx0q3iw  见习技师

发表于 2023-8-24 12:16:35

666666666666666
回复

使用道具 举报

马时汉  学徒

发表于 2023-8-24 13:15:04

太厉害啦
回复

使用道具 举报

花生编程  中级技匠

发表于 2023-8-26 10:40:56

不错不错
回复

使用道具 举报

花生编程  中级技匠

发表于 2023-8-26 10:41:58

学习了,感谢分享!
回复

使用道具 举报

9yaTDyYyRyl3  学徒

发表于 2023-10-13 22:09:57

感谢分享!!!
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail