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
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
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)
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)
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)
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()
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)
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)
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)
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
def __init__(self): super(AccountScreen, self).__init__() self.buttons = ButtonGroup() Button(((1278, 840), (88, 65)), self.buttons, call=self.back_to_menu)