def __init__(self, master, **kwargs): super().__init__(master, **kwargs) self.DECK_COORDINATES = (700, 100) self.CARD_ORIGINAL_POSITION = 100 self.CARD_WIDTH_OFFSET = 100 self.PLAYER_CARD_HEIGHT = 300 self.DEALER_CARD_HEIGHT = 100 self.PLAYER_SCORE_TEXT_COORDS = (340, 450) self.PLAYER_MONEY_COORDS = (490, 450) self.POT_MONEY_COORDS = (500, 100) self.WINNER_TEXT_COORDS = (400, 250) self.game_state = GameState() self.sound_board = SoundBoard() self.tabletop_image = tk.PhotoImage(file=assets_folder + "/tabletop.png") self.card_back_image = Card.get_back_file() self.player_score_text = None self.player_money_text = None self.pot_money_text = None self.winner_text = None self.cards_to_deal_pointer = 0 self.frame = 0
def display_table(self, hide_dealer=True, table_state=None): if not table_state: table_state = self.game_state.get_table_state( ) # ကစားသမားများ ရရှိထားသော ဖဲကတ်များကို သိရှိရန်အတွက် # for k,v in table_state.items(): # print (k,v) # print ('-----------\n') player_card_images = [ card.get_file() for card in table_state['player_cards'] ] dealer_card_images = [ card.get_file() for card in table_state['dealer_cards'] ] if hide_dealer and not table_state['blackjack']: dealer_card_images[0] = Card.get_back_file() self.cards_to_deal_images = [ ] # animation လုပ်ရန်အတွက် ကစားများရရှိထားသော ကတ်များကို self.cards_to_deal_positions = [] # ဖဲဝေသည့် animation ပြုလုပ်ရန်အတွက် ကစားသမား ၏ ဖဲကတ်များနှင့် ထိုဖဲကတ်များ၏ တည်နေရာများကို LIST ထဲတွင် သိမ်းဆည်ထား for card_number, card_image in enumerate(player_card_images): image_pos = self.get_player_card_pos(card_number) self.cards_to_deal_images.append(card_image) self.cards_to_deal_positions.append(image_pos) # ဖဲဝေသည့် animation ပြုလုပ်ရန်အတွက် ဒိုင် ၏ ဖဲကတ်များနှင့် ထိုဖဲကတ်များ၏ တည်နေရာများကို LIST ထဲတွင် သိမ်းဆည်ထား for card_number, card_image in enumerate(dealer_card_images): image_pos = (self.CARD_ORIGINAL_POSITION + self.CARD_WIDTH_OFFSET * card_number, self.DEALER_CARD_HEIGHT) self.cards_to_deal_images.append(card_image) self.cards_to_deal_positions.append(image_pos) # print ("cards_to_deal_postions :", self.cards_to_deal_positions) self.play_deal_animation() while self.playing_animation: self.master.update() self.sound_board.chip_sound.play() self.update_text() if table_state['blackjack']: self.master.show_next_round_options() self.show_winner_text(table_state['has_winner']) else: self.master.show_gameplay_buttons() self.check_for_winner()
def display_table(self, hide_dealer=True, table_state=None): if not table_state: table_state = self.game_state.get_table_state() player_card_images = [ card.get_file() for card in table_state['player_cards'] ] dealer_card_images = [ card.get_file() for card in table_state['dealer_cards'] ] if hide_dealer and not table_state['blackjack']: dealer_card_images[0] = Card.get_back_file() self.cards_to_deal_images = [] self.cards_to_deal_positions = [] for card_number, card_image in enumerate(player_card_images): image_pos = self.get_player_card_pos(card_number) self.cards_to_deal_images.append(card_image) self.cards_to_deal_positions.append(image_pos) for card_number, card_image in enumerate(dealer_card_images): image_pos = (self.CARD_ORIGINAL_POSITION + self.CARD_WIDTH_OFFSET * card_number, self.DEALER_CARD_HEIGHT) self.cards_to_deal_images.append(card_image) self.cards_to_deal_positions.append(image_pos) self.play_deal_animation() while self.playing_animation: self.master.update() self.sound_board.chip_sound.play() self.update_text() if table_state['blackjack']: self.master.show_next_round_options() self.show_winner_text(table_state['has_winner']) else: self.master.show_gameplay_buttons() self.check_for_winner()
def __init__(self, master, **kwargs): super().__init__(master, **kwargs) self.DECK_COORDINATES = (700, 110 ) # ဖဲထုပ်ထားတဲ့နေရာအတွက် coordinate သတ်မှတ် self.CARD_ORIGINAL_POSITION = 100 # ဖဲကတ်ရဲ့ x တည်နေရာအမှတ် self.CARD_WIDTH_OFFSET = 100 # ဖဲကတ်တစ်ကတ် နှင့် တစ်ကတ် အကွာအဝေ self.PLAYER_CARD_HEIGHT = 310 # ကစားသူ ဖဲရဲ့ y position အမှတ် self.DEALER_CARD_HEIGHT = 105 # ဒိုင် ဖဲရဲ့ y position အမှတ် self.PLAYER_SCORE_TEXT_COORDS = ( 340, 450) # ကစားသူ ရဲ့ ရမှတ် ထားရန်အတွက် x,y position အမှတ် self.PLAYER_MONEY_COORDS = ( 490, 450) # ကစားသူရဲ့ ပိုက်ဆံ ထားရန်အတွက် x,y position အမှတ် self.POT_MONEY_COORDS = ( 500, 100 ) # လောင်းကြေး ထပ်ထားတဲ့ ပိုက်ဆံ ထားရန်အတွက် x,y position အမှတ် self.WINNER_TEXT_COORDS = (400, 250) # အနိုင်ရရှိသူ ဖော်ပြရန်အတွက် self.game_state = Gamestate() # ဖဲဂိမ်း ၏ အချက်အလက်များရရှိရန် အတွက် self.sound_board = SoundBoard() # လိုအပ်သော ဖဲသံများ ရယူရန်အတွက် self.tabletop_image = tk.PhotoImage( file=assets_folder + "/tabletop.png") # ဖဲများထားဖို့ အောက်ခံဓာပုံခေါ်ထား self.card_back_image = Card.get_back_file() # ဖဲနောက်ကျော ပုံ ခေါ်ထား self.player_score_text = None self.player_money_text = None self.pot_money_text = None self.winner_text = None # ဖဲကုလားဖန်ထိုးရန်နှင့် ဖဲဝေ သည့် animation ပြုလုပ်ရန်အတွက် အသုံးပြမည် self.cards_to_deal_pointer = 0 self.frame = 0