请问node.js如何让不同用户按照顺序做事情?
发布于 2年前 作者 kakaren 1336 次浏览

学习编程不久,想做一个多人协作的东西,不知道如何用node.js实现。

想做的是,一个用户做了一些事情,使另一个用户可以做一些事情,如此类推,如果有三个用户,那么他们的顺序就是1,2,3,1,2,3这样的轮流。可以想象为一个不限人数的下棋游戏。

我不知道如何检测,第n个用户操作之后,n+1个用户就可以做某事了,如果说加一个布尔值变量的话,是要检测不同用户打开页面的时间先后吗?

希望大虾们提供一些相关的文档或者代码,我还属于小白阶段。。。望见谅。

8 回复

这个和是不是 Node 关系不大. 个人会用一个全局状态来保存下一个可行的用户. 然后每次有操作就去更新变量, 保障这个顺序是按照顺序来的

求参考推荐~

全局计数器每次事件后加1,然后每个用户判断的时候用全局计数器对3取余和自身的标识进行判断如何

自己写一个触发器吧,如果要多进程可能要用第三方媒介了

上一个人完事儿触发下一个人的事件?

应该是标准的责任链模式吧~ 可以参考我以前做扑克牌游戏的做法。 服务器将一组用户,维护为一个固定顺序的队列。index指向谁就给谁出牌就发个消息,用户出完牌回复服务器个消息,然后index+1。不过每次出牌后都要判断游戏是否达到结束条件。

感觉更像是个工作流…

回到顶部