只要在循环内加上一个if逻辑,判断如果接受到文本信息就执行什么,就卡死了
1 个赞
你这个是出错的情况吗?根据你的描述看起来不是。
1 个赞
奥,我明白了,“当接收到聊天信息”这个逻辑块内不能重复的接收,原来是一次行的
1 个赞
你没有发现“当接受到聊天消息”这个块上面没有口吗(
1 个赞
他这个问题到底是什么我至今没清楚,是塞不进去吗?
1 个赞
我以为“当接收到聊天信息”这个逻辑块像一个等待的线程,只要程序不结束,会一直接收信息
1 个赞
这个块是一个启动条件,也就是当接受到聊天消息时,执行以下的内容,所以发送消息的内容不管调用几次,永远是一样的
1 个赞
他可能觉得塞不进去是因为卡了(?)
1 个赞
这图里的逻辑没有问题,本来想发的是while循环里面还有个if逻辑块的,if逻辑块包着现在while循环里的内容。if逻辑块的判断是(发送消息的内容 == ‘参加’)就继续执行,然后这个判断为false,导致死循环了
1 个赞
if(message = ‘德州扑克 启动!’) {
let count = 1;
print(‘对局开始,当前玩家‘+count+’人’);
while(count != 3) {
if(message = ‘参加’) {
count++;
print('当前玩家‘+count+'人‘);
}
}
}
2 个赞
嗯,是你的逻辑出现了问题。「当接收到聊天信息」是每接收到一条聊天信息就运行一次下面的所有程序的。
你的逻辑思维使用朴素面向过程程序的思维,但编写机器人的时候会有一点区别。机器人是 事件驱动 的,因此逻辑思维与编写普通的程序会有所不同。以后找个机会我大概会详细说明一下。
1 个赞
说到点子上了
1 个赞
啊,我懂你意思了,你是觉得每次调用“发送消息的内容”都会读取最新的消息
但正如ilharp所说,机器人是事件驱动的,你一个程序里写的东西都是基于本次事件的(图中的事件就是一条消息)
1 个赞
是这个意思
2 个赞