执行生成蝴蝶的代码。
在两只箱子里,立刻生成一对颜色相反的双子蝴蝶。
我们将这种宝箱命名为「量子宝箱」。
于是游戏的设计师想挑战我们,想让我们试试看,能不能通过观察分辨出哪一对宝箱是传统宝箱,哪一对是量子宝箱。
这个挑战看起来似乎不可能完成。
因为简单从开箱后的观察结果来看,似乎两种形式的宝箱都是完全一样的。
两种都是装着颜色相反的双子蝴蝶而已,我们似乎无法分辨两者有什么不同。
打开的两个宝箱
但是,我们玩家都是很有耐心的,经过认真的反复摆弄两种不同的宝箱,重复开箱过无数次以后,我们还是发现了一些差别。
我们发现,每个宝箱里面的蝴蝶颜色其实是由三个部分构成的。
分别是「触角」、「翅膀」和「身体」。
每个部位都有可能是「黑色」和「白色」两种颜色中的一种。
不过每次开箱的时候,蝴蝶身上的颜色都是随机产生的。
当我们打开A宝箱的时候,我们如果看到蝴蝶精灵是「黑触角」+「白翅膀」+「黑身体」。
那么我们打开另外一个B宝箱,看到的蝴蝶精灵就必然是「白触角」+「黑翅膀」+「白身体」。
完全相反。
如果A宝箱看到的是「白触角」+「黑翅膀」+「黑身体」。
那么B宝箱里的蝴蝶就一定是「黑触角」+「白翅膀」+「白身体」。
一点都不会错。
那么,两只宝箱里蝴蝶的各部位颜色对应得很好,我们怎么才能分辨出差别呢?
我们仔细思考了一下,传统宝箱和量子宝箱之间的逻辑。
突然我们意识到,它们之间的差别就在于,是否提前约定好了。
传统宝箱里面的蝴蝶精灵,是事先生成好的。
那么两个蝴蝶之间,肯定已经约定好了一套对应的方案,它们才可能做到完全互补。
那么蝴蝶们需要约定好几套方案呢?
因为蝴蝶身上有三个部位可以变化颜色,那么我们排列组合一下就知道,总共需要八套方案。
传统宝箱的八套方案
也就是说,如果是传统宝箱的生成方式的话,那么两只蝴蝶精灵,必须先定好用这八套方案中的某一套,来生成各部位的颜色。
一旦定好就不能更改了。