Esempio n. 1
0
    def build_yes_no_buttons(self):
        self.yes_no_buttons = []
        from_center = 125
        settings = {
            "text": "Yes",
            "hover_text": "Yes",
            "font": self.font,
            "font_size": 80,
            "text_color": pg.Color("white"),
            "hover_text_color": pg.Color("white"),
            "fill_color": pg.Color("#0000c3"),
            "hover_fill_color": pg.Color("blue"),
            "call": self.check_double_up,
            "args": (True, ),
            "bindings": [pg.K_y]
        }
        rect_style = (0, 0, 200, 100)
        button = Button(rect_style, **settings)
        button.rect.centerx = self.dealer.rect.centerx - from_center
        button.rect.centery = self.dealer.rect.centery
        self.yes_no_buttons.append(button)

        settings.update({
            'text': 'No',
            'hover_text': 'No',
            'call': self.check_double_up,
            'args': (False, ),
            "bindings": [pg.K_n]
        })
        rect_style = (0, 0, 200, 100)
        button = Button(rect_style, **settings)
        button.rect.centerx = self.dealer.rect.centerx + from_center
        button.rect.centery = self.dealer.rect.centery
        self.yes_no_buttons.append(button)
 def make_navigation_buttons(self, screen_rect):
     sheet = prepare.GFX["nav_buttons"]
     size = (53, 50)
     y = 530
     from_center = 15
     icons = tools.strip_from_sheet(sheet, (0, 0), size, 4)
     buttons = ButtonGroup()
     l_kwargs = {
         "idle_image": icons[0],
         "hover_image": icons[1],
         "call": self.scroll_page,
         "args": 1,
         "bindings": [pg.K_LEFT, pg.K_KP4]
     }
     r_kwargs = {
         "idle_image": icons[2],
         "hover_image": icons[3],
         "call": self.scroll_page,
         "args": -1,
         "bindings": [pg.K_RIGHT, pg.K_KP6]
     }
     left = Button(((0, y), size), buttons, **l_kwargs)
     left.rect.right = screen_rect.centerx - from_center
     right = Button(((0, y), size), buttons, **r_kwargs)
     right.rect.x = screen_rect.centerx + from_center
     return buttons
Esempio n. 3
0
    def build_main_buttons(self, x, y):
        self.main_buttons = []

        button_list = [('bet', self.bet_one, None),
                       ('bet max', self.bet_max, None),
                       ('hold', self.make_held, '0'),
                       ('hold', self.make_held, '1'),
                       ('hold', self.make_held, '2'),
                       ('hold', self.make_held, '3'),
                       ('hold', self.make_held, '4'),
                       ('draw', self.draw_cards, None)]

        settings = {
            "fill_color": pg.Color("#222222"),
            "font": self.font,
            "font_size": 25,
            "hover_text_color": pg.Color("white"),
            "disable_text_color": pg.Color("#cccccc"),
            "hover_fill_color": pg.Color("#353535"),
            "disable_fill_color": pg.Color("#999999"),
            "active": False
        }

        for text, func, args in button_list:
            rect_style = (x, y, self.btn_width, self.btn_height)
            settings.update({
                'text': text,
                'hover_text': text,
                'disable_text': text,
                'call': func,
                'args': args
            })
            button = Button(rect_style, **settings)
            self.main_buttons.append(button)
            x += self.btn_width + self.btn_padding
Esempio n. 4
0
 def make_enter_button(self):
     self.button_labels = []
     self.buttons = ButtonGroup()
     Button(((1278, 840), (88, 65)), self.buttons, bindings=[pg.K_RETURN])
     rect_pos = {"midright": (1251, 872)}
     label = Label(self.font, 36, "Enter", "white", rect_pos, bg="blue2")
     self.button_labels.append(label)
Esempio n. 5
0
 def make_buttons(self):
     self.buttons = ButtonGroup()
     self.labels = []
     buttons = [("Balance Inquiry", "ACCOUNTSCREEN", (34, 450)),
                ("Deposit", "DEPOSIT", (34, 580)),
                ("Withdrawal", "WITHDRAWAL", (1278, 450)),
                ("Cash Advance", "ADVANCE", (1278, 580)),
                ("Exit", "", (1278, 840))]
     for text, next_state_name, topleft in buttons:
         callback = self.set_next
         bound = []
         if text == "Exit":
             callback = self.back_to_lobby
             bound = [pg.K_ESCAPE]
         Button((topleft, (88, 65)),
                self.buttons,
                args=next_state_name,
                call=callback,
                bindings=bound)
         if topleft[0] == 34:
             rect_pos = {"midleft": (topleft[0] + 115, topleft[1] + 32)}
         else:
             rect_pos = {"midright": (topleft[0] - 27, topleft[1] + 32)}
         label = Label(self.font, 36, text, "white", rect_pos, bg="blue2")
         self.labels.append(label)
     title = Label(
         self.font, 48, "Select Transaction Type", "white",
         {"midtop": (self.screen_rect.centerx, self.screen_rect.top + 80)})
     self.labels.append(title)
Esempio n. 6
0
 def __init__(self, casino_player, player_cash, chips=None, chip_pile=None):
     self.deck = Deck((20, 100), prepare.CARD_SIZE, 40)
     self.dealer = Dealer()
     self.chip_rack = ChipRack((1100, 130), self.chip_size)
     self.moving_stacks = []
     self.casino_player = casino_player
     self.player = Player(self.chip_size, player_cash, chips, chip_pile)
     self.labels = self.make_labels()
     self.current_player_hand = self.player.hands[0]
     self.quick_bet = 0
     self.last_bet = 0
     rect = self.advisor_back.get_rect().union(
         self.advisor_front.get_rect())
     self.advisor_button = Button(rect, call=self.toggle_advisor)
Esempio n. 7
0
 def __init__(self):
     self.done = False
     self.quit = False
     self.next = None
     rect = self.advisor_back.get_rect().union(
         self.advisor_front.get_rect())
     self.advisor_button = Button(rect, call=self.toggle_advisor)
     self.buttons = ButtonGroup()
     pos = (self.screen_rect.right - (NeonButton.width + 10),
            self.screen_rect.bottom - (NeonButton.height + 10))
     lobby_button = NeonButton(pos,
                               "Lobby",
                               self.back_to_lobby,
                               None,
                               self.buttons,
                               bindings=[pg.K_ESCAPE])
     self.animations = pg.sprite.Group()
Esempio n. 8
0
    def __init__(self):
        self.active = True
        self.group = pg.sprite.Group()
        self.frames = pg.sprite.Group()
        self.advisor = Advisor(self.group, self.frames)
        self.advisor.active = True
        self.images = {
            'back': prepare.GFX["advisor_back"],
            'front': prepare.GFX["advisor_front"],
            'back_dim': prepare.GFX["advisor_back_dim"],
            'front_dim': prepare.GFX["advisor_front_dim"],
        }

        self.rect = self.get_rect()
        self.button = Button(self.rect, call=self.toggle_active)

        # Just testing to ensure it works...
        self.advisor.queue_text("Welcome to Keno!", dismiss_after=2500)
Esempio n. 9
0
    def build_cash_button(self, y):
        settings = {
            "text": "Cash out",
            "hover_text": "Cash out",
            "fill_color": pg.Color("gold"),
            "font": self.font,
            "font_size": self.text_size,
            "text_color": pg.Color("#333333"),
            "hover_text_color": pg.Color("#333333"),
            "disable_text_color": pg.Color("#cccccc"),
            "hover_fill_color": pg.Color("yellow"),
            "disable_fill_color": pg.Color("#999999"),
            "call": self.cash_out
        }

        rect_style = (
            (self.rect.right + self.padding),
            (y - 300),
            200,
            60,
        )
        self.cash_button = Button(rect_style, **settings)
Esempio n. 10
0
    def build_coins_button(self, y):
        settings = {
            "text": "Insert coin",
            "hover_text": "Insert coin",
            "fill_color": pg.Color("gold"),
            "font": self.font,
            "font_size": self.text_size,
            "text_color": pg.Color("#333333"),
            "hover_text_color": pg.Color("#333333"),
            "disable_text_color": pg.Color("#cccccc"),
            "hover_fill_color": pg.Color("yellow"),
            "disable_fill_color": pg.Color("#999999"),
            "call": self.insert_coin
        }

        rect_style = (
            (self.rect.right + self.padding),
            y,
            200,
            60,
        )
        self.coins_button = Button(rect_style, **settings)
Esempio n. 11
0
 def make_main_buttons(self, screen_rect):
     buttons = ButtonGroup()
     pos = (9, screen_rect.bottom - (NeonButton.height + 11))
     NeonButton(pos, "Credits", self.change_state, "credits", buttons)
     pos = (screen_rect.right - (NeonButton.width + 10),
            screen_rect.bottom - (NeonButton.height + 11))
     NeonButton(pos, "Stats", self.change_state, "stats_menu", buttons)
     pos = (screen_rect.centerx - (NeonButton.width // 2),
            screen_rect.bottom - (NeonButton.height + 11))
     NeonButton(pos,
                "Exit",
                self.exit_game,
                None,
                buttons,
                bindings=[pg.K_ESCAPE])
     rect_style = (screen_rect.left, screen_rect.top, 150, 95)
     Button(rect_style,
            buttons,
            idle_image=prepare.GFX["atm_dim"],
            hover_image=prepare.GFX["atm_bright"],
            call=self.change_state,
            args="atm")
     return buttons
Esempio n. 12
0
 def __init__(self):
     super(AccountScreen, self).__init__()
     self.buttons = ButtonGroup()
     Button(((1278, 840), (88, 65)), self.buttons, call=self.back_to_menu)