先把话说清楚:这篇不是教程。是我这个月在折腾「抽数字模拟器入口」时留下的一堆碎片,写给自己看的。
一、那个凌晨,我在等一个「4」停下来
9 月 7 日,凌晨 2 点 40 分,我在朋友老周的出租屋里。他开了个抽号页面,要给他儿子的班级抽 5 个家长代表。
屏幕上的数字滚了大概 30 秒,然后停住,显示 4。他点「再抽」,还是 4。他愣了,又点,第三个 4。
「你这入口有问题吧。」他说。
我把手机掏出来,用自己的页面抽了 20 次,4 出现了 6 次。他看着我,我看着他,谁都没说话。
后来我回去查了半天,发现是我那个抽数字模拟器入口的随机种子,每次页面刷新都从同一个地方取。听着挺傻的对吧,我也觉得。
二、47 张截图和三个名字
第二天我开始做记录。从 9 月 8 日到 9 月 10 日,我截了 47 张图,全是我在不同页面抽号的结果。
其中 31 张是我自己的入口,16 张是别人的。我把它们摊在桌面上排成一排,像小孩排卡片。
老王(楼下开便利店那位)路过看了一眼,说:「顾南,你这抽签像在赌命。」我说不是赌命,是赌运气。他说那不还是赌。
我承认,那一刻我被他说得有点心虚。
三、我的观点:多数所谓「随机」都在偷懒
说实话,我现在不太信那些写着「随机抽取」的页面。不是不信技术,是不信做页面的人真的在意这件事。
大多数抽数字模拟器入口只是调用一次 Math.random() 就完事了。开箱、抽奖、抽签、分组,全一个样。
你想想,一个负责分班的页面,如果它抽出来的结果总是偏向前几个名字,那背后是多少个真实的、被决定的孩子?我不知道这算不算严重,但我不想当那个偷懒的人。
所以我开始重写自己页面的抽号逻辑。具体做法还在试,试完再写。
四、还没想明白的几件事
第一,显示动画到底该滚多久?1.5 秒太快,像敷衍;4 秒又太长,用户会以为卡了。
第二,抽完之后要不要留历史记录?老周说留,因为有人会赖账。我说留了反而可能被人统计出规律。
第三,也是我最纠结的:如果一个模拟器做得太真,大家会不会干脆拿它代替真实的抽签?
这几个问题我没有答案。我把它们写在便签上,贴在显示器边,每天看一遍。