Создание простой игры в покер - PullRequest
0 голосов
/ 24 сентября 2019

Я делаю простую игру в покер, чтобы напечатать вероятность получения: 1 пара, затем 2 пары, затем 3 вида и 4 вида.

Что я хочу сделать, это сделать этогде у нас есть пользователь, который получает комбинацию из 5 карт.

Затем возьмите его, чтобы пройти по списку, чтобы проверить, совпадает ли каждая карта с какой-либо другой картой, и проверить, является ли она одной парой, двумя парами.три в одном, затем четыре в одном.

Затем, наконец, проверяем вероятность получения этих рук.

Я просто пытаюсь начать это, я не уверен, какой метод использовать, чтобы проверить, равны ли какие-либо два элемента, тогда, если есть две пары, то 3 и 4 вида.

Для каждого оператора if, который я знаю, нужно использовать break и возвращать false, чтобы завершить цикл while.

Я использую 1-13 вместо словаря для проверки на соответствие.

Пока что я только что распечатал случайный набор для карточек.

def poker():
    count = 0
    cards = []
    while(True):
        for i in range(0,5):
            cards = random.choice([1,2,3,4,5,6,7,8,9,10,11,12,13])
            if(cards[0] == cards[1,2,3,4]):
                 count+=1

1 Ответ

1 голос
/ 24 сентября 2019

Вот быстрая модификация вашего текущего кода:

def poker():
    cards = []
    for i in range(5): #This is the same as range(0,5)
        # Use 'append' instead of '=' to add the new card to list instead of overwriting it
        cards.append(random.choice([1,2,3,4,5,6,7,8,9,10,11,12,13])) 
    # set() will give you a set of unique numbers in your hand
    # If you have a pair, there will only be 4 cards in your set!
    for card in set(cards):
        number = cards.count(card) # Returns how many of this card is in your hand
        print(f"{number} x {card}")

Вывод:

"1 x 2"
"1 x 6"
"2 x 8" # <-- Pair!
"1 x 10"

Это должно вывести вас на правильный путь!Теперь, когда вы можете определить, сколько карт у вас в руке, вы можете использовать их для отслеживания руки каждого игрока!

Если у вас есть какие-либо дополнительные конкретные вопросы, связанные с фрагментом кода, не стесняйтесь задавать другой вопрос, уточнив рекомендации по вопросам.

...