我正在用 Prolog 编写一个扑克程序,我需要你的帮助。我想让电脑检查一下,他还能拿到什么样的牌,而他已经躺在桌子上和手里了。为此,我需要用牌组中的牌填充剩余的牌。
示例:翻牌(3 张牌)已经在桌面上,2 张牌在玩家手中,还有 2 张牌可以抽。这意味着计算机需要检查他可以通过将他的 2 张隐藏牌和 3 张公开牌与其他 2 张尚未抽出的牌(包括其他玩家牌,因为他不认识他们,这没问题为我做)。
因此,如果他需要 2 张牌来获得顺子,那么如果池中还有 2 张满足条件的牌,计算机应该能够进行 ckeck。
因为我已经写下了手牌的规则,所以我剩下要做的就是写一个规则,把已经在电脑手上和桌子上的牌归还给我,再加上池中的 x 张牌。并且这条规则需要能够返回这些卡片的所有可能组合(但不是一次全部)。
可能的剩余卡片列表如下所示: list = [card(Color,Value),card(Color,Value),...]
这里有没有人有关于如何做到这一点的想法?