BlackJack().Me(Point(100),Hit(10))を実行させると以下のType errorが発生し、対処できません。原因を教えて頂けますと幸いです。
TypeError: init() missing 1 required positional argument: 'deck'
Blackjack(object): def __init__(self, poket, bet,deck = [] ): self.poket = poket self.bet = bet self.deck = deck (中略:class全体は本コードの下に記しています) #####ディーラーの行動 def Dealer(self,Point,Hit,deck): def d_Hit_or_stand(self, Point, Hit,deck): if Point <=16: self.deck.append(Hit) else: pass return self.deck
class Blackjack全体
class Blackjack(object): def __init__(self, poket, bet,deck = [] ): self.poket = poket self.bet = bet self.deck = deck def Deck(self): for i in range(2): (self.deck).append(random.randint(1,13)) return self.deck def Hit(self):##カードを引く return random.randint(1,13) def Point(self):##手持ちカードの合計を返す s = 0 sorted((self.deck), reverse = True) for i in range(len(self.deck)): if self.deck[i] == 11 or self.deck[i] == 12 or self.deck[i] == 13: s += 10 elif self.deck[i] == 1: s += 11 if s >= 21: s -=10 else: s += self.deck[i] return s #####ディーラーの行動 def Dealer(self,Point,Hit,deck): def d_Hit_or_stand(self, Point, Hit,deck): if Point <=16: self.deck.append(Hit) else: pass return self.deck ###自身の行動 def Me(self,Point,Hit,deck): def Me_Hit_or_stand(self,Point,Hit,deck): print("Now My sum of cards are "+ s + "Decide Hit(h) or Stand(s)") if raw_input("h"): (self.deck).append(Hit(self)) else: pass ##勝敗判定と精算 def Judge_and_amount(Me,Dealer): if (Me.sum >Dealer.sum) and Me.sum <= 21: print ("I win") poket += 10 if (Me.sum <Dealer.sum) and Dealer.sum <= 21: print ("I lose") poket -= 10 if Me.sum <= 21 and Dealer.sum > 21: print ("l win") poket += 10 if Dealer.sum <= 21 and Me.sum > 21: print("I lose") poket -= 10 else: print("draw") print(poket)

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/03 02:47
2016/07/09 06:04