gpt4 book ai didi

python - 如何为王牌编写二十一点计分程序

转载 作者:行者123 更新时间:2023-12-01 07:07:15 24 4
gpt4 key购买 nike

我正在尝试创建一个二十一点模拟,以便我可以测试各种策略并无限期地模拟它们。我遇到的最大的问题是如何获得一张王牌。理想情况下,如果你拿到了一张 A,它会查看你的分数,并相应地给你 1 或 11,但是如果你拿到的是五 (5)、Ace(11),然后是六 (6),我无法避免当你应该有 12 的时候却让你半身像。

class Person:
wins = 0

def __init__(self, call):
self.call = call
self.hand = []

def deal(self, cards_dealt):
cards_in_deck = len(deck)
for card in range(0, cards_dealt):
card_position = (random.randint(0, cards_in_deck) - 1)
self.hand.append(deck[card_position])
deck.pop(card_position)
cards_in_deck -= 1

def total(self):
my_total = 0
for x in range(0, len(self.hand)):
if self.hand[x][0] > 10:
my_total += 10
if self.hand[x][0] == 1:
if self.total < 11:
my_total += 11
else:
my_total += 1
else:
my_total += self.hand[x][0]
return my_total


numbers_in_each_suit = 13
suits = ['Spades', 'Hearts', 'Diamonds', 'Clubs']
deck = []

for number in range(0, numbers_in_each_suit):
for suit in suits:
deck.append([(number + 1), suit])

cpu = Person(10)
cpu.deal(2)
cpu.total()

最佳答案

只需使用 1 作为创建 A 的数字,为每张 A 添加 11 并计算每张 A,然后如果您爆牌则减去 10,直到您没有爆牌或直到您用完可减少的 A 为止。

关于python - 如何为王牌编写二十一点计分程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58387080/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com