Я пишу программу для игры в покер на Прологе, и я помогу вам. Я хочу, чтобы компьютер проверил, какие руки он еще мог получить с картами, которые уже лежат на столе и в его руке. Для этого мне нужно заполнить оставшиеся карты картами из колоды.
Пример: флоп (3 карты) уже на столе, 2 карты на руках у игроков, 2 карты осталось добрать. Это означает, что компьютеру нужно проверить, какие руки он мог бы получить, объединив свои 2 скрытые карты и 3 открытые карты с 2 другими картами, еще не разыгранными (включая карты других игроков, потому что он их не знает, это не проблема). сделать для меня).
Таким образом, если ему нужны 2 карты для стрита, компьютер должен проверить, остались ли в этом пуле 2 карты, удовлетворяющие условию.
Поскольку у меня уже есть записанные правила для рук, мне осталось написать правило, которое возвращает мне карты, уже находящиеся в руке компьютера и на столе, плюс x карт из пула. И это правило должно возвращать ВСЮ возможную комбинацию этих карт (правда, не все сразу).
Список возможных оставшихся карт будет выглядеть так: list = [card(Color,Value),card(Color,Value),...]
Кто-нибудь здесь есть идея о том, как это сделать?