【问题标题】:Socket.io node.js Math.random get different results on all usersSocket.io node.js Math.random 在所有用户上得到不同的结果
【发布时间】:2012-10-24 15:51:55
【问题描述】:

我目前正在使用 node.js、socket.io 和 javascript 开发扑克德州扑克应用程序。

我遇到的问题是,当我尝试使用 math.random 函数洗牌时,它会按预期洗牌,但对于连接到应用程序的每个用户,它会以不同的方式洗牌。

基本上,我希望能够使用某种随机函数来洗牌,但仍然对所有用户以相同的方式洗牌。

我正在使用 io.sockets.emit();对所有用户使用随机播放功能。

【问题讨论】:

    标签: javascript node.js socket.io


    【解决方案1】:

    在服务器端 (node.js) 洗牌,然后向每个用户发送他的卡片和公共卡片。

    【讨论】:

    • 永远不要相信客户端,让服务器洗牌并存储每个用户的手。无论如何,这就是赌场的荷官。
    【解决方案2】:

    如果它允许您设置种子,请在玩家之间共享种子,然后允许他们使用该种子作为随机数生成器来洗牌。

    另一种方法是让主持人洗牌,然后让主持人告诉其他玩家他们的牌应该按什么顺序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-28
      • 2014-05-26
      • 1970-01-01
      • 1970-01-01
      • 2012-09-20
      • 2013-12-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多