Example #1
0
    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
Example #2
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()
Example #3
0
    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()
Example #4
0
    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