二十一点游戏每个人每次都不会更新手牌] >

问题描述 投票:1回答:2

我正在尝试围绕二十一点制作一个简单的基于文本的Python游戏。游戏知道变量“ hand”和“ d_hand”分别是您的手和庄家的手,但是不会在每张新卡抽出后对其进行更新。将hand和d_hand分配给一个介于1到11之间的随机整数,再加上您当前的手,然后再添加随机数,这从理论上讲应该意味着您的手会在每次抽出新牌时进行更新。这是代码:

def draw(hand, d_hand):
x = randint(1, 11)
card = x
hand = x + hand
print("You drew...")
print(card)
y = randint(1, 11)
d_card = y
d_hand = y + d_hand
print("Dealer drew...")
print(d_card)
print("Your hand: ")
print(hand)
print("Dealer's hand: ")
print(d_hand)
ask()

这是所有内容的输出:(注意:我在这里只显示一个功能,游戏显然不仅仅是我正在显示的一个功能。)

Press enter to begin: 
You drew...
1
Dealer drew...
5
Your hand: 
1
Dealer's hand: 
5
Hit or stay? (h/s): h
You drew...
10
Dealer drew...
8
Your hand: 
10
Dealer's hand: 
8
Hit or stay? (h/s): '''

我不太确定这是什么问题...

我正在尝试围绕二十一点制作一个简单的基于文本的Python游戏。游戏知道变量“ hand”和“ d_hand”分别是您的手和庄家的手,但是在每张新卡后都不会更新它...

python function variables blackjack
2个回答
0
投票

从您发布的代码来看,您似乎没有退还新手。因此,当函数返回时,指针将恢复为调用前的值。您可以像return (hand,d_hand)这样在python中返回图尔普,然后像hand,d_hand = draw(hand,d_hand)


0
投票

如果handd_hand是列表(或可变对象),

© www.soinside.com 2019 - 2024. All rights reserved.