私は Prolog でポーカー プログラムを書いています。あなたの助けを借りて。コンピューターにチェックしてもらいたいのですが、すでにテーブルの上にあり、彼の手の中にあるカードで、彼がまだどのようなハンドを獲得できるかを確認してください。これを行うには、デッキからのカードで残りのカードを埋める必要があります。
例: フロップ (3 枚のカード) が既にテーブルにあり、2 枚のカードがプレイヤーの手札にあり、2 枚のカードを引く必要があります。つまり、コンピューターは、2 枚の隠しカードと 3 枚のオープン カードと、まだ引かれていない他の 2 枚のカード (他のプレイヤーのカードを含む。彼はそれらを知らないため、これは問題ではない) を組み合わせることによって得られるハンドをチェックする必要があります。私のためにすること)。
したがって、彼がストレートに 2 枚のカードが必要な場合、そのプールに条件を満たす 2 枚のカードが残っている場合、コンピューターはチェックできるはずです。
私はすでにハンドのルールを書き留めているので、あとはコンピューターの手札とテーブルにあるカードと、プールからの x 枚のカードを返すルールを書くだけです。そして、このルールは、これらのカードのすべての可能な組み合わせを返すことができる必要があります (ただし、一度にすべてではありません)。
可能な残りのカードのリストは次のようになります: list = [card(Color,Value),card(Color,Value),...]
これを行う方法についてアイデアを持っている人はいますか?