0

先週プログラミングを学び始めたばかりで、ブラックジャック プログラムを書くのに苦労しています。デッキ リストを生成することはできますが、ブラックジャックのルールに従ってカードの値を割り当てる方法が思いつかないようです。絵札が 10 に等しいのと同じように、エースは 1 または 1,1 で、残りはその額面に等しいです。私のコードはおそらく皆さんにとって混乱していることはわかっていますが、プロの仕事をコピーして貼り付けるよりも、コードを続けて間違いを犯して学びたいと思います. カードの値を割り当てるためのヒントを教えてください。

これが私がこれまでに持っているものです

import random
import time

deck = []
hand = []
dealer_hand = []
def deck_shuffle():
    for suit in ["Clubs", "Dimonds", "Hearts", "Spades"]:
        for face in ["Jack", "Queen", "King", "Ace"]:
            deck.append([face, suit])
        for num in range(2, 11):
            deck.append([num, suit])
    random.shuffle(deck)
    return deck



def deal_cards():
    for x in range(0,2):
        deal_card = deck.pop(0)
        hand.append(deal_card)
        deal_card = deck.pop(0)
        dealer_hand.append(deal_card)



deck_shuffle()
deal_cards()
print (deck)



print("Dealers hand is", dealer_hand)
print("Your hand is", hand)
4

2 に答える 2

1

私はこのようなことをします

class Card:
     def __init__(self,suit,value):
         self.suit = suit
         self.value = value
     def __str__(self):
         return "A,2,3,4,5,6,7,8,9,10,J,Q,K".split(",")[self.value]+" of "+["Clubs", "Dimonds", "Hearts", "Spades"][self.suit]
     def getValue(self):
          if 0 <self.value < 10: return self.value + 1
          if self.value == 0: return 11
          return 10

class Deck:
      def __init__(self):
          self.cards = [Card(i,j) for i in range(4) for j in range(13)]
          self.cards.shuffle()

d = Deck()
print d.cards[0]
print d.cards[0].getValue()        
于 2013-06-30T19:33:04.030 に答える