使 Computercraft 上的 rednet.receive() 变为被动式接收

计算机 0 是一个中心计算机,其意在从外部终端接收信息,解释信息,并将其发送到监视器上。我将使外部终端以不同速率发送信息。有些可能每秒钟发送几次,而有些可能每分钟只发送一次更新。 基本思路很简单。 计算机 0

local mon = peripheral.wrap("top")
rednet.open("right")

local id = nil
local msg = {}
while true do
    mon.clear()
    id, smsg = rednet.receive()
    if smsg ~= nil then
        msg[id]= smsg
    end
    for i = 1,#msg do
        mon.setCursorPos(1,i)
        mon.write(msg[i])
    sleep(0.1)
end

其他计算机

rednet.open("top")
local n=1
while true do
    rednet.broadcast(0,n)
    n = n+1
    sleep(0.5) --睡眠计时器是任意的。我只是想让中心计算机在每个单独计算机的信息到来时更新它们的信息。
end

是的,我知道这会造成混乱,但我只想让基本思路运作。然后我可以按需要进行 ID 和协议检查。 我知道需要做一些并行处理,但这就是所有了。我还是有点新手,最多只能说我略高于初学者。

点赞