单人纸牌游戏/永动
外观
< 单人纸牌游戏
牌桌由四堆/四列组成。发四张牌(其余作为牌堆留在一旁),每堆一张。如果有相同牌值的牌(例如三个国王),重复的牌将移至最左侧的牌堆,与相同的牌放在一起。
例如:提到的三个国王位于牌堆 2、3 和 4。牌堆 3 和 4 中的国王移至牌堆 2。
之后,再次从牌堆发四张牌(即使有一堆是空的),并执行已经提到的操作。只有每堆牌的顶牌可以参与游戏。如果从牌堆发出的四张牌都是相同的牌值,则立即将其弃牌。
这将持续到牌堆用完。在第一轮之后,将牌堆从最右侧的牌堆开始,一张一张地叠在一起,正面朝下或正面朝上,但不要改变每堆牌中牌的顺序。再次发四张牌,并重复前面提到的步骤。
当所有牌都被弃牌(以四张为一组)时,游戏获胜。但是,这并非总是可能的,因为在约 45% 的情况下[1]会出现循环:即牌回到之前出现过的完全相同的顺序。当游戏可以获胜时,平均需要 128 轮才能完成,因此得名。
彼得·德雷克在他的《Java 数据结构与算法》一书[2]中提出了一种替代玩法,如下所示。
目标仍然是从桌子上移除所有牌,但方法略有不同。
游戏开始时将四张牌发到四堆独立的牌堆中,每堆一张。其余的牌作为牌堆放在一边。玩家可以执行以下三种操作之一。
- 如果显示的两张牌牌值相同,则将其弃牌。
- 如果显示的两张牌花色相同,则弃牌牌值较小的牌。
- 如果上述两个条件都不满足,则再发四张牌,每堆牌顶一张。
与永动类似,这将持续到牌堆用完,并且无法再移除任何牌。
游戏显然比永动结束得快得多,但考虑到游戏只有在最后两张牌牌值相同的情况下才能结束,所以获胜的可能性并不大。
- ↑ Clarke, M. C. 关于完成“永动”游戏的概率 访问时间:2009 年 7 月 13 日
- ↑ 彼得·德雷克著《Java 数据结构与算法》。ISBN 0-13-146914-2