使用方法
- 「参与人数」默认 8,允许 2 到 50;「抽题数」默认 10,允许 1 到 20。改任意一项立刻重算,光标停在人数或题数框里按回车同样触发一次抽题。
- 「随机种子」默认 20260101,允许 0 到 2147483647。同一种子、同一人数、同一题数必然抽到逐字相同的一局,把种子记下来就能复盘。
- 「强度档位」默认全部,也可以锁定温和、中等、大胆,或选「温和 + 中等」「中等 + 大胆」两种组合。
- 结果区第一行给出本局的人数、题数、档位与种子,下面逐句列出句子、档位、普遍性与期望罚酒人次,末尾给出本局合计与人均。
- 「批量种子」默认写了四个种子,每行一个整数,各取前 6 条横向对比;按 Ctrl+Enter(Mac 上 Cmd+Enter)重算,被清空时点抽题会自动填回。
- 结果下面是 12 行的「人数 × 期望罚酒」表,按当前档位的平均普遍性算,默认显示 6 行,点「加载更多」展开全部,点「导出 CSV」存成带字节序标记的文件。
- 「复制本局句子」只复制本局抽到的句子清单;「复制对照表」复制正文那张 12 行档位筛选表的 TSV,可直接粘进表格。
- 人数不是整数、题数超出题库条数、种子不是整数,或批量种子某一行写成英文或小数,都会给出针对该条的具体提示,不拿上一次的结果冒充本次输出。
这个「我有你没有」游戏能解决什么问题
第一类是「玩到一半没词了」。常用的那几句翻来覆去说完,冷场就来了。题库有 20 条陈述,分温和 9 条、中等 7 条、大胆 4 条,按种子无放回抽取,一局抽 10 题也不会重复。
第二类是「尺度拿捏不准」。同事聚会念出「有过网恋」会让空气凝固,密友局念「坐过过山车」又太温吞。题库按三档分好,先选档位再抽题,尺度在抽之前就定下来了,不必靠主持人临场判断哪句能说。
第三类是「罚酒量心里没底」。规则是做过的人喝一杯,一场下来到底要喝多少,凭感觉估常常差一倍。本页给每条陈述标了普遍性,按「期望罚酒人次 = 人数 × 普遍性」逐条算,再汇总成人均杯数,开局前就知道这一轮的分量。
第四类是「同一局换个人说的版本不一样」。口头复述会走样,尤其是句子被改了几个字以后,普遍性就完全不是原来那一个。用种子复现能保证所有人拿到逐字相同的一局,复盘与争议都好办。
这个工具在本站也叫「我有你没有」,题库就是这 20 条陈述,没有更多也不做联网补充,下面会讲清期望值是怎么算出来的、以及它和「至少一人做过」的概率有什么不同。
计算原理与变量说明
本页的核心算式只有一条:某句的期望罚酒人次 = 参与人数 × 该句的普遍性。普遍性是一个百分比,表示在人群里做过这件事的人大概占多少;8 人局里普遍性 15% 的「有过网恋」,期望罚酒就是 8 × 0.15 = 1.20 人次。
期望的线性性。本局总期望等于各句期望直接相加,不需要考虑句子之间是否相关。8 人局抽 10 题那十句的普遍性依次是 15%、55%、18%、72%、68%、29%、4%、12%、19%、37%,逐条乘 8 得到 1.20、4.40、1.44、5.76、5.44、2.32、0.32、0.96、1.52、2.96,相加得 26.32 人次。人均是 26.32 ÷ 8 = 3.29 杯。
人均与人数无关。把上式除以人数就能看出来:人均杯数 = 题数 × 平均普遍性,人数被约掉了。所以 2 人局与 50 人局在「人均几杯」这件事上是同一个数字,人多的局只是总量大、场面热闹,不会让每个人喝得更多。若想控制人均,调的是题数与档位,不是人数。
「至少一人做过」要用对立事件。想知道某句会不会冷场,算的是 1 − (1 − p)^n,而不是把 n 个人的概率相加——相加会超过 100%,而且逻辑上错。普遍性 4% 的「跳过伞」在 8 人局里至少一人做过的概率是 1 − 0.96^8 = 27.9%,也就是有七成可能这一句无人认领;到了 16 人局才升到 48.0%。
普遍性只是先验估计。题库里每个百分比是对人群比例的估计值,不等于本局的真实结果:真实结果要么有人认领要么没人认领,是 0 或 1,期望值 1.20 指的是「同样规则重复很多局的平均人次」。单局出现 0 或 3 都正常,别拿期望值当预测。
抽取用 32 位线性同余发生器,状态按(s × 1103515245 + 12345)对 2^31 取模推进,乘法用 Math.imul 做 32 位整数乘以保证跨环境一致;取句下标是 Math.floor(rnd() / 2147483647 × 池长度)。抽到重复句子时最多再抽 8 次,所以是「尽量无放回」而非严格无放回。
完整示例(数值仅作演示)
默认示例是 8 人局、抽 10 题、全部档位、种子 20260101,抽到的十句逐字如下:有过网恋(大胆,15%,期望罚 1.20 人)、坐过过山车(温和,55%,4.40 人)、在国外生活超过半年(温和,18%,1.44 人)、跳过一整晚的觉(中等,72%,5.76 人)、独自看过电影(温和,68%,5.44 人)、把手机掉进过水里(中等,29%,2.32 人)、跳过伞(大胆,4%,0.32 人)、纹过身(大胆,12%,0.96 人)、写过一本没写完的小说(中等,19%,1.52 人)、给陌生人指错过路(温和,37%,2.96 人)。
十句相加,本局期望罚酒 26.32 人次,人均 3.29 杯。这十句的普遍性平均是 32.9%,高于题库总平均 30.15%,所以这一局比典型水平略重——抽到 4% 的跳过伞会拉低,抽到 72% 的熬夜会拉高。
换种子看差异。种子 1 的前 6 条是跳过伞、有一次说走就走的旅行、跳过一整晚的觉、骑过马、看过一次完整的日出、有过网恋;种子 42 是在国外生活超过半年、跳过伞、会演奏一种乐器、写过一本没写完的小说、参加过马拉松或长跑比赛、坐过过山车。两局的重叠很小,换种子等于换一局。
把档位改成「温和 + 中等」再抽,题库从 20 条缩到 16 条,平均普遍性从 30.15% 升到 35.25%;改成「中等 + 大胆」则缩到 11 条,平均普遍性降到 25.09%。同样是 8 人局抽 10 题,后一档的人均只有 2.51 杯,比全部档位轻不少。
档位与概率对照表
下表按场合给出可选的档位组合与对应的平均普遍性,选档位前先看这张表。
| 场合 | 可选档位 | 可选条数 | 平均普遍性 |
|---|---|---|---|
| 同事聚会 | 温和 | 9 条 | 36.33% |
| 家庭局 | 温和 | 9 条 | 36.33% |
| 团建 | 温和 | 9 条 | 36.33% |
| 陌生破冰 | 温和 | 9 条 | 36.33% |
| 朋友局 | 温和 + 中等 | 16 条 | 35.25% |
| 同学聚会 | 温和 + 中等 | 16 条 | 35.25% |
| 新年局 | 温和 + 中等 | 16 条 | 35.25% |
| 密友局 | 全部三档 | 20 条 | 30.15% |
| 生日局 | 全部三档 | 20 条 | 30.15% |
| 线上局 | 全部三档 | 20 条 | 30.15% |
| 告别局 | 全部三档 | 20 条 | 30.15% |
| 老友局 | 中等 + 大胆 | 11 条 | 25.09% |
下面这张是「至少有一人做过」的概率,按 1 − (1 − p)^n 算,横向是人数、纵向是普遍性。它回答的是「这一句会不会冷场」,与期望罚酒人次是两个不同的量。
| 普遍性 | 2 人 | 4 人 | 8 人 | 16 人 |
|---|---|---|---|---|
| 4% | 7.8% | 15.1% | 27.9% | 48.0% |
| 8% | 15.4% | 28.4% | 48.7% | 73.7% |
| 12% | 22.6% | 40.0% | 64.0% | 87.1% |
| 20% | 36.0% | 59.0% | 83.2% | 97.2% |
| 30% | 51.0% | 76.0% | 94.2% | 99.7% |
| 42% | 66.4% | 88.7% | 98.7% | 100.0% |
| 61% | 84.8% | 97.7% | 99.9% | 100.0% |
| 72% | 92.2% | 99.4% | 100.0% | 100.0% |
最后这张是无放回抽取的可用性,题库 20 条,抽到 20 题为止都够用。
| 一局抽几题 | 是否够用 |
|---|---|
| 5 题 | 够(无放回) |
| 10 题 | 够(无放回) |
| 15 题 | 够(无放回) |
| 20 题 | 够(无放回) |
| 21 题 | 超出题库 |
| 25 题 | 超出题库 |
| 30 题 | 超出题库 |
| 40 题 | 超出题库 |
结果边界、舍入与适用说明
- 人数为空时提示请填 2 到 50 之间的整数;写成 1 时提示至少两人,一个人玩不起来。
- 题数为空时提示请填 1 到 20 之间的整数;超过当前档位的可选条数时提示超出题库,并给出该档位条数。
- 种子为空或不是整数时提示请填 0 到 2147483647 之间的整数。
- 批量种子某一行出现小数、负数或非数字时,报出具体行号与内容。
- 抽到重复句子时最多再抽 8 次;题数超过题库条数时重试必然用尽,本局会出现重复句子。
- 期望罚酒人次与人均都保留两位小数;普遍性按整数百分比存放,不做小数插值。
- 期望值是长期平均,不代表本局真实结果;本局真实罚酒人次是整数,可能明显偏离期望值。
- 页面不联网、不写本地存储,人数、题数与种子只用于本次计算。
常见问题
为什么人均杯数和人数无关?人多不是应该喝得更多吗?
人均杯数 = 题数 × 平均普遍性,人数在算式里被约掉了:期望人次是「人数 × 普遍性」,再除以人数就只剩题数与普遍性。人多只会让本局总人次变多(2 人局 6.03 人次,50 人局 150.75 人次)。想让每人少喝,减题数或选普遍性低的档位。
期望罚酒 1.20 人是什么意思?难道会有 0.2 个人喝酒?
不会。期望值是对同一规则重复很多局取平均的结果,本局真实结果只能是整数人次。1.20 表示类似的一句在很多局里平均罚 1.2 人次,本局可能是 0、1、2 甚至更多,出现 3 也不算异常。
「至少一人做过」的概率为什么不直接把每个人的概率加起来?
因为那样会超过 100%,而且逻辑上错。正确做法是先算「所有人都没做过」的概率 (1 − p)^n,再用 1 减它。普遍性 4% 的跳过伞在 8 人局里是 1 − 0.96^8 = 27.9%,直接相加会得到 32%,明显不对。
抽题数最多只能填 20 吗?想抽 30 题怎么办?
本页题库是 20 条,无放回抽取最多 20 题。填 21 及以上会提示超出题库——要么允许放回(同一句可能重复出现),要么自己往题库里补充句子。本页不提供放回模式,避免一局里念出重复的句子。
为什么同一颗种子换个人打开,抽到的句子完全一样?
因为用的是确定性伪随机数发生器,状态按(s × 1103515245 + 12345)对 2^31 取模推进,起点由种子决定。种子 20260101 在 8 人局抽 10 题下必然给出有过网恋、坐过过山车、在国外生活超过半年这一串,换台设备也一样。
普遍性这些百分比准不准?能不能当真实比例用?
它们是对人群比例的先验估计,用于估算期望值,不等于本局的真实结果,也不等于任何具体人群的真实比例。不同年龄层、不同地区的比例差别很大,若你有更贴近自己圈子的估计,按本页的算式替换即可。
这个工具免费吗?
免费,无需注册即可使用。
输入的数据安全吗?
安全。计算在当前浏览器本地完成,不会上传输入内容。