年会抽奖 · 抽奖顺序(3列)
点击「开始滚动」,暂停后按屏幕从上到下逐行取人,每行内三人顺序随机;第 1 位即第一个被抽到。
🎉 顺序已锁定
暂停后按当前屏幕顺序生成
第 1 位
最终抽奖顺序
顺序确定后,按此顺序自行抽奖即可
速度控制(越大越快)
3600 px/s
快捷键:空格 开始/暂停(开始会重新随机)。
第 1 位
未确定顺序时:点击「开始滚动」,再点击「暂停并确定顺序」即可生成顺序。
📋 抽奖规则(绝对公平)
  1. 分列:先把所有人随机打乱,再按顺序依次放入左、中、右三列(第 1 人→左列,第 2 人→中列,第 3 人→右列,第 4 人→左列…循环)。每个人被分到哪一列的概率相同。
  2. 列内顺序:左、中、右三列各自内部再单独随机打乱一次,所以每列里的上下顺序也是随机的。
  3. 滚动与暂停:点击「开始滚动」后,三列名单同时滚动(每列从随机位置开始、速度略有不同)。由参与者在任意时刻点击「暂停并确定顺序」,以暂停那一刻的屏幕为准。
  4. 如何生成顺序:暂停后,屏幕最上面一行为第 1 行,往下依次为第 2 行、第 3 行…。每一行从左到右有 3 个人(左列一人、中列一人、右列一人),这 3 个人的先后顺序会再随机打乱一次,然后按打乱后的顺序依次写入最终名单(先写第 1 行的 3 人,再写第 2 行的 3 人…)。因此「第 1 位」可能是第 1 行里左、中、右任意一人。
  5. 为什么公平:谁进哪列随机、每列内顺序随机、何时暂停随机、每行内谁排第一也随机,所以任何人都可能成为第 1 位,没有固定偏向。
✅ 绝对公平性确认
  • ① 进哪一列:先用 Fisher-Yates 对全员洗牌,再按顺序依次放入左、中、右(0→左,1→中,2→右…)。因初始顺序已均匀随机,每人进左/中/右的概率均为 1/3。
  • ② 列内上下顺序:每列分完后各自再独立洗牌一次,列内顺序均匀随机。
  • ③ 哪一行成为「第一行」:开始滚动时每列从 [0, 一圈高度) 内随机起点开始,速度带随机漂移;暂停时刻由参与者决定。暂停时「最上方可见行」由每列当前滚动位置决定,等价于在 0~(列长-1) 上均匀随机。
  • ④ 同一行内谁先谁后:每一行取左、中、右三人后,对该三人再做一次 Fisher-Yates 洗牌再写入最终顺序,故第 1 位可来自该行任意一列,概率均等。
综上:四个环节均为均匀随机且互不绑定,因此每个人成为第 1 位(或任意名次)的概率相同,无固定偏向。
顺序确定后,按此名单顺序进行抽奖即可;以暂停瞬间屏幕显示为准,公开透明。