gpt4 book ai didi

javascript - 如何为玩家分配一个 2 位数的唯一 ID

转载 作者:行者123 更新时间:2023-11-30 10:57:30 26 4
gpt4 key购买 nike

我正在使用 html、node js 和 socket.io 制作多人游戏。最初我在游戏更新中发送 socket_id,玩家位置(x,y)和 Angular 。由于 socket id 很长并且使用了更多字节,我想使用一个小的(2 或 3 个单词/数字)id 来代替 socket id 来代表每个玩家。最多一个游戏可以有 50 个玩家。如果我使用随机数 (0-100) 生成 id,则 id 可能已被某些玩家占用(如果已经有 30 到 40 名玩家)。分配 id 的更好算法是什么。

当玩家死亡或退出游戏时,该 id 是免费的,因此它可以(不一定)分配给新玩家。

最佳答案

一种方法是简单地递增:

let curId = 0;
//...
player.id = curId;
curId+=1;

如果你想让它随机,按照这个:

  1. 制作一个数字数组 0..100
  2. 从数组中为 ID 选择一个随机数
  3. 从数组中删除它
  4. 重复

我推荐第一种方法,因为第二种方法限制了潜在用户的数量。尽管从理论上讲,如果我有 10,000 个已知用户,我会使用第二种方法并在用户断开连接时将 id 添加回数组。所以我没有无限期地递增。

关于javascript - 如何为玩家分配一个 2 位数的唯一 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59397304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com