收集耐心纸牌游戏。
pytience的Python项目详细描述
Pytience-Python中的耐心纸牌游戏集合
这个项目的目标是建立在一个共同的框架上的小型控制台纸牌游戏集合。第一个这样的
游戏是克朗代克(或“经典纸牌”)。需要Python 3.7+。要安装,请运行pip install pytience
。在
克朗代克
根据标准rules,游戏通过文本命令进行。在
开始游戏
在终端中运行klondike
。屏幕将被清除,并被替换成基础、表格和视图。
游戏统计。如果你以前玩过,它会自动加载最后一个状态。画面显示为扇形
下一堆,在列的顶部有一个“底部”卡片,下面的每一张卡片都建立在前一个卡片的顶部。这个
基础桩是方形的。在
前一个命令将显示在提示中,单击return将再次执行该命令。在
Score: 0 Stock: 24 Waste: [] Foundation: [♠] [♦] [♣] [♥] Tableau: 0 1 2 3 4 5 6 --- --- --- --- --- --- --- 6♣ # # # # # # A♦ # # # # # 4♠ # # # # 5♦ # # # 7♥ # # 4♦ # 8♠ klondike[type ? for help]>
从股票中发一张卡
要处理一张卡,运行deal
(或只运行d
)。将从最上面取出一张卡片,并从中取出一张
在垃圾堆上扇形。库存数量将减少1。如果你在股票空置前交易
废物将被退回库存并回收利用。在
移动表格卡
要使用tableau
(或t
)命令选择一张卡片(或一堆卡片):
tableau <from_pile> [<card_num> [to_pile]]
桩号和卡号的参数是零索引的。如果一张牌上面有牌,那张牌和牌
上面是一起移动的。如果card_num
被省略,则假定它是这堆牌中的头牌。如果to_pile
如果省略,它会尝试把单张卡片放在基础上,然后在表格中寻找一堆。在
tableau
或t
命令可以完全省略,整数将被假定为tableau
参数。在
一些例子:
tableau 2 2 3
-将第三张牌从第三堆移到第四堆。4♠
将移动到5♦
下方,然后是下一张牌 将被揭露。在 < L> {< CD16> } -将顶部卡片从第三个桩移动到第一个可用的基础或表桩。0
-从第一堆移走最上面的一张牌。6♣
将在7♥
下面找到一个原点,第一列将是 空的。只有国王才能被安置在那里。在4 4
-从第五列移动第五张牌。7♥
(以及上面的任何牌)将移动到8♠
的下方
A♦
将是
移动到基金会,下一张牌就会被揭开。把卡片从桌面移到基础
为您赢得15分。在如果按顺序运行上述所有命令,则表格可能如下所示:
Score: 15 Stock: 23 Waste: [8♥] Foundation: [♠] A♦ [♣] [♥] Tableau: 0 1 2 3 4 5 6 --- --- --- --- --- --- --- [ ] 2♥ # # # # # J♦ # # # # # # # # 5♦ A♣ # # 4♠ # # 4♦ # 8♠ 7♥ 6♣ klondike[tableau 4 4]>
移动废卡
使用waste
(或w
)命令从废纸牌中选择顶卡:
waste [<tableau pile>]
如果表桩参数被省略,它将试图将顶部废纸牌放入地基(价值10点),
或者是画面(值5分)。如果在基础^ {EM1}$和
foundation <c(lubs)|d(diamonds|s(pades)|h(earts)> [<tableau pile num>]
指定要从基础上拔出基础卡的套件,以及可选的表桩编号。如果桩号为 省略,它将寻找合适的。从基金会的举动将惩罚你15分。在
开始新游戏
扔掉当前游戏,用new
或n
创建一个新游戏。在
撤消
你的一举一动都会被记录下来。您可以使用undo
(或u
)命令撤消所有这些操作,一次一个。在
求解
如果库存和废料都是空的,所有的o如果显示了tableau卡,solve
将移动一张卡到
为你奠基。这是一个方便,因为没有任何移动可以使游戏无法解决。在
保存
你的每一步都会将当前游戏保存到~/.pytience/klondike.save
。您可以使用以下命令指定自己的保存文件:
save [filename]
负载
使用命令load [filename]
,您可以加载先前保存的游戏。在
帮助
使用help
或{
退出
使用quit
、q
或ctrl-d
退出游戏。在
查看游戏状态
唯一未记录的命令是_dump
(以前是_state
)。使用它可以查看游戏状态的JSON表示。在
- 项目
标签: