0

現在、Sublime Text で Python3 を使用してブラックジャック ゲームを作成しています。ディーラーのカードが 1 枚ずつ描かれるとき、さまざまな関数を呼び出すためにコンソールで 1 枚ずつ描かれるのを見ることができますがafter()、実際の G​​UI ではすべてのカードが最後に同時に表示されます。

コードの一部を次に示します。

def d_pick_a_card():
    global d_hand
    global card
    global deck
    global d_counter
    global cvpath
    global cardvalue 
    global d_card_relx
    global cv 
    cardvalue = 0
    card = deck.pop(0)
    print('Drew',card)
    if card == 'J':
        cardvalue = 10
        cvpath = 11
    elif card == 'Q':
        cardvalue = 10
        cvpath = 12
    elif card == 'K':
        cardvalue = 10
        cvpath = 13
    elif card == 'A':
        cardvalue = 11
        cvpath = 14
    else:
        cardvalue = card
        cvpath = card
    d_hand.append(cardvalue)
    random.shuffle(deck)
    random.shuffle(deck)
    d_counter += 1

#THIS IS THE FUNCTION THAT SHOWS THE VISUAL CARD ON THE GUI
def d_pick_vis(cardvalue, d_counter):
    global dealers_turn
    global card_frame
    card_frame = tk.Label(top, image = cv[cvpath]) 
    card_frame.place(relx= d_card_relx[d_counter], rely=.18, anchor='center')
    widgetList.append(card_frame)

def dturnfunc():
    global dealersturn_img
    holding_img1.pack_forget()
    dealersturn_img = tk.Label(top, image = dealersturn)
    dealersturn_img.img = dealersturnpath
    dealersturn_img.pack()
    top.after(500, dealers_turn())

def dealers_turn():
    global cardvalue
    global d_counter
    d_pick_a_card()
    d_pick_vis(cardvalue, d_counter)
    print("The Dealers hand is:", sum(d_hand))
    print('\n')
    if sum(d_hand) <= sum(hand):
        print('Dealer picks again')
        top.after(500,dealers_turn_2())
    elif sum(d_hand) == 21:
        print('Dealer Wins')
    elif sum(d_hand) >= 22:
        print('You win!')
    else:
        print('Dealer Wins')
4

1 に答える 1