def deal_init(): ######## #Clean player frame from the hit cards: Deal.clean_table(frames = [player_cards_frame,dealer_cards_frame,deal_results_frame]) ######## ######## #Initialize Card Instances so this way i will have a new deck each time deal is pressed cards_instances = [] for card in collect_cards(): cards_instances.append(Card(name = card)) # (Card instance) print(f'{card} added to deck') ######## #Initialize Game: game = Deal( deck = cards_instances, master = root, player_cards_frame = player_cards_frame, player_game_options_frame = player_game_options_frame, player_card1_label = player_card1_label, player_card2_label = player_card2_label, dealer_card1_label = dealer_card1_label, dealer_card2_label = dealer_card2_label, player_score_label = player_score_label, dealer_score_label = dealer_score_label, dealer_cards_frame = dealer_cards_frame, deal_results_frame = deal_results_frame, player_busted_message = player_busted_message, dealer_busted_message = dealer_busted_message, split = split ) # Starting operations in real game: #deal player: game.deal_player() #deal for dealer: #handle all dealt cards for dealer for here so we can keep one undisplayed dealer_1 = game.get_card(dealer_card1_label, is_player = False) dealer_2 = game.get_card(dealer_card2_label, is_player = False, display=False) #fill the score board: game.set_scoreboard() #See if split should be disabled or enabled: game.set_split_button_state() #Set the Buttons click function <Button-1> Stand for left click hit.bind('<Button-1>', lambda event: game.hit(dealer_2)) stand.bind('<Button-1>', lambda event: game.finish_player_turn(dealer_2))