2013-11-20 91 views
0

因此,我一直試圖處理卡,但每當我打電話給deckdeal代碼它給了我一個甲板沒有定義的錯誤。任何有關代碼錯誤的幫助?二十一點遊戲錯誤處理套牌

import os 
import random 
import sys 
#------------Functions------------------ 
def hit_stay(hit): 
    if hit == "yes": 
     import random 
    else: 
    print("dealer's turn") 

def endGame(false): 
    while endGame == False: 
     print("") 
     sys.exit(0) 

def createDeck(): 
    deck = ['jack of spades', 'queen of spades', 'king of spades', 'ace of spades', 'jack of hearts', 'queen of hearts', 'king of hearts', 'ace of hearts', 'jack of clubs', 'queen of clubs', 'king of clubs', 'ace of clubs', 'jack of diamonds', 'queen of diamonds', 'king of diamonds', 'ace of diamonds'] 
    values = range(2,11) 
    for x in values: 
     spades = str(x) + " of spades" 
     hearts = str(x) + " of hearts" 
     clubs = str(x) + " of clubs" 
     diamonds = str(x) +" of diamonds" 
     deck.append(spades) 
     deck.append(hearts) 
     deck.append(clubs) 
     deck.append(diamonds) 
    return deck 

def deckDeal(deck): 
    dealerHand, playerHand = [], [] 
    cardsToDeal = 4 
    while cardsToDeal > 0: 
     if cardsToDeal % 2 == 0: playerHand.append(deck[0]) 
     else: dealerHand.append(deck[0]) 
     del deck[0] 
     cardsToDeal -= 1 
    return deck, playerHand, dealerHand 
+1

請包括* full * traceback的異常。你還可以修理你的縮進嗎? –

+1

*你叫* deckDeal嗎? 'deck'中是否有足夠的元素? –

+0

這是由您調用'deckDeal'函數的方式引起的。請發佈完整的代碼示例,以便我們瞭解您如何使用這些功能。 –

回答

0

除破hit_stay功能,需要洗牌,「出現」的代碼工作。你怎麼叫它?這是一種可行的方法:

>>> deckDeal(deck) 
>>> deck = createDeck() 
>>> deck 
['jack of spades', 'queen of spades', 'king of spades', 'ace of spades', 'jack of hearts', 'queen of hearts', 'king of hearts', 'ace of hearts', 'jack of clubs', 'queen of clubs', 'king of clubs', 'ace of clubs', 'jack of diamonds', 'queen of diamonds', 'king of diamonds', 'ace of diamonds', '2 of spades', '2 of hearts', '2 of clubs', '2 of diamonds', '3 of spades', '3 of hearts', '3 of clubs', '3 of diamonds', '4 of spades', '4 of hearts', '4 of clubs', '4 of diamonds', '5 of spades', '5 of hearts', '5 of clubs', '5 of diamonds', '6 of spades', '6 of hearts', '6 of clubs', '6 of diamonds', '7 of spades', '7 of hearts', '7 of clubs', '7 of diamonds', '8 of spades', '8 of hearts', '8 of clubs', '8 of diamonds', '9 of spades', '9 of hearts', '9 of clubs', '9 of diamonds', '10 of spades', '10 of hearts', '10 of clubs', '10 of diamonds'] 
>>> deck,player,dealer = deckDeal(deck) 
>>> len(deck) 
48 
>>> player 
['jack of spades', 'king of spades'] 
>>> dealer 
['queen of spades', 'ace of spades']