FreeCell的规则
概览
全部52张牌均可见。每次移动一张牌,在8列纸牌、4个中转格和4个基础牌堆之间移动。在牌列中,一张牌只能放在颜色相反且点数比它大一级的牌上。将所有牌按花色分别从A到K依次移入基础牌堆,即可获胜。
初始布局
一副52张的牌(不含大小王)洗牌后,明牌发成8列,各列分别为7、7、7、7、6、6、6、6张。牌桌上方有4个空当(开局为空)和4个基础牌堆,每种花色一个:黑桃、红桃、方块和梅花。
允许的操作
每次只能移动某一列最上面的牌(即最后一张、没有被其他牌压住的牌),或者空当中的一张牌。
- 放到牌列上:所放的牌必须与目标牌颜色相反(红牌叠黑牌,黑牌叠红牌),且点数恰好小一级。红桃7可以放在黑桃或梅花8上。
- 放入空当:空当为空时,可放入任意一张牌。每个空当只能存放一张牌。
- 放到基础牌堆上:先放该花色的A,然后依次是2、3,直到K,始终是同一花色,且每次一张。
- 放到空列上:可放任意一张牌,或者整个牌组(见下文)。
点数从A(最小)到K(最大):A、2至10、J、Q、K。
牌组移动
牌列中已经排好的一组连续牌(红黑交替、点数连续)可以整组移动。这只是操作上的捷径:等同于利用空闲中转格和空列,逐张拆开这组牌,再重新排列。因此,可移动牌组的最大张数按以下方式计算:
(空当数 + 1) × 2 的(空列数)次方
每多一个空列,容量翻倍;每多一个空当,只增加一张。当牌组要移入某个空列时,这个目标空列不计入:不能把它当作中转站来移向它自己。
| 空闲单元格 | 移到有牌的列:0个空列 | 移到有牌的列:1个空列 | 移到有牌的列:2个空列 | 移到空列:共1个空列 | 移到空列:共2个空列 |
|---|---|---|---|---|---|
| 0 | 1 | 2 | 4 | 1 | 2 |
| 1 | 2 | 4 | 8 | 2 | 4 |
| 2 | 3 | 6 | 12 | 3 | 6 |
| 3 | 4 | 8 | 16 | 4 | 8 |
| 4 | 5 | 10 | 20 | 5 | 10 |
示例:有4个空闲单元格和1个空列时,最多可以向有牌的列移动10张牌,但向这个空列最多只能移动5张。示例页面用一局真实的牌局演示了这种情况。
游戏结束
当52张牌全部放到基础堆上时,即赢得本局。实际上,当再也没有有用的走法时,本局就输了:这时需要撤销若干步,或者重新开始。
应用中的额外处理
以下做法是FreeCell Solitaire应用特有的;其他版本的游戏可能采用不同做法。
- 单元格数量:可在“新游戏”窗口中选择4个、2个或1个。被去掉的单元格会从牌桌上消失,也不再计入可移动牌组的大小。
- 不会自动移入基础牌堆:没有牌会自行移入基础牌堆。轻点一张牌会尝试将其移入;也可以拖动或连点两次。
- 从基础牌堆取回:可以拖动基础牌堆最上方的牌,将其放回牌区。
- 撤销:可撤销最近的100步操作。
- 牌局代码:每个发牌布局都有一个代码(例如FC1-C4-AAAAAKH),可用它完全重现相同布局。参见FAQ。
应用中的计分
| 走法 | 分数 |
|---|---|
| 把一张牌放到基础堆上 | +10 |
| 把单元格中的一张牌放到牌桌上 | +5 |
| 其他任何走法 | 0 |
撤销一步会扣掉这一步所得的分数,而且分数不会降到零以下。