这些工具
名字转盘从你粘贴的名单中选出一个,随机分组把名单拆成均衡小组,随机数字在你指定的范围内抽取整数,其他工具还提供抛硬币、掷骰子、是/否、列表排序和随机字母。
随机数怎么来的
浏览器 Web Crypto API 提供原始 32 位随机值(crypto.getRandomValues)。生成范围内整数时,落在范围整数倍之外的值会被拒绝并重新抽取,因此范围内每个整数概率相同。本站没有任何 Math.random 回退。
转盘如何决定结果
先用均匀随机数抽出中奖项,再计算转盘旋转角,让该格中心正好停在指针下;旋转动画只会朝这个固定目标前进。旋转期间禁止编辑,所以播报的中奖项永远是指针停下时指向的那一格。
分组与数字
- 分组先做 Fisher-Yates 洗牌,再轮流发牌:每个名字出现一次,各组人数最多相差 1。
- 不重复模式下,数字通过稀疏 Fisher-Yates 抽样产生——耗时和内存取决于要抽取的数量,而不是范围大小。
- 名单中的重复项默认保留,每个重复项各算一个条目,直到你主动去重。
- 分组可以按队伍数量,也可以按每队最多几人:轮流发牌让各组人数最多相差 1,且每组不超过你设定的人数。
- 各工具的本次记录(抛硬币、掷骰子、是/否结果)只保存在页面内存里,关闭或刷新标签页后即消失。
哪些数据留在你的设备上
每个名字、分组和数字都在页面内处理,不会上传,工具输入也不会发送给分析。点名转盘和分组器只在你按下保存按钮时,才把命名名单存进本机浏览器;JSON 文件和分享链接同样在本机生成。建议按班级或会议分开保存名单,不再需要的名单可以删除。
无障碍
结果和错误会向屏幕阅读器播报;转盘可以用键盘操作;控件有清晰的焦点样式;系统开启“减少动态效果”时会自动缩短动画。