2017-06-18 69 views
0

我正在爲我的編程課程進行作業,我們必須參加二十一點程序並添加下注選項。二十一點遊戲中的Python屬性錯誤

這是原來的計劃: http://courses.ischool.berkeley.edu/i90/f11/resources/chapter09/blackjack.py

這工作沒有任何問題。

在BJ_Game我增加了一些代碼,以收集賭注

class BJ_Game(object): 

    def __init__(self, names):  
     self.players = [] 
     for name in names: 
      player = BJ_Player(name) 
      self.players.append(player) 

     self.dealer = BJ_Dealer("Dealer") 

     self.deck = BJ_Deck() 
     self.deck.populate() 
     self.deck.shuffle() 

    # betting 
    def placing_bets (self, names): 
     self.total_bets=10 
     for name in names: 
      yes_no=input("The dealer bets 10.", name, "would you like to bet on this round? (y/n)") 
      if yes_no=="y": 
       player_bet=input(int("How much would you like to bet?:"))  
      else: 
       break 
      self.total_bets=player_bet+self.total_bets  
     return self.total_bets 

類(很抱歉的格式,我這個是新的。在現實生活中它縮進就像鏈接)

我所做的唯一的其他改變是添加了底部兩行打印贏家贏得了賭注:

def win(self): 
    print(self.name, "wins.") 
    # awarding bets 
    print("You win $", self.total_bets) 

當我運行它,我得到一個錯誤:

AttributeError: 'BJ_Game' object has no attribute '_BJ_Game__additional_cards' 

我不理解我所做的更改是如何引起此問題的。非常感謝幫助。

回答

0

這是行:

def __additional_cards(self, player): 

仍然在你的計劃?如果沒有,你有你的答案。如果是的話,仔細看看這一行上面的代碼。