1
def deck():
    cards = range(1, 12)
    return choice(cards)

def player():
    card1 = deck()
    card2 = deck()
    hand = card1 + card2
    print card1, card2
    while hand < 21:
        choice = raw_input("Would you like to hit or stand?: ")
        print choice
        if choice == "hit":
            hand2 = hand + deck()
            print hand2     
        elif choice == "stand": 
                return hand 

こんにちは皆さん、

私はPythonで簡単なブラックジャックゲームを作ろうとしています。私はここまで到達し、行き詰まっているようです。私がプレイしようとすると、それは私に、どちらが良いかを打つか、立つかを尋ねます。しかし、私の問題は、毎回新しいカードの値を生成しているように見えることです。つまり、私がヒットして立った場合、3枚のカードの新しい値ではなく元の値が返されるということです。

私はプログラミングに慣れていないので、助けていただければ幸いです。できるだけ自分のコードを使用したいと思います。

4

2 に答える 2

2

私があなたの質問を正しく理解しているなら、おそらく hand2 = hand + deck()あなたの内部ifが問題を引き起こしています..あなたは新しい値に合計を割り当てています、それはどこにも使われていません..あなたは同じを更新する必要がありますhand。したがって、上記のステートメントを次のように置き換えます。

hand = hand + deck()
于 2012-09-29T20:30:41.233 に答える
0
if choice == "hit":
      hand2 = hand + deck()
      print hand2     

「ヒット」ブロックはhand2、ではなく変更しhandます。

if choice == "hit":
      hand += deck()
      print hand
于 2012-09-29T20:30:51.683 に答える