def __init__(self, rect, value=0, **kwargs): super(ChipPile, self).__init__(rect, **kwargs) self.stacking = 70, -10 self.ignore_until_away = True self.arrange_function = self.animate_pop self._clicked_sprite = None self._followed_sprite = None self._popped_chips = list() self._initial_snap = None self._desired_pos = None self._selected_stack = False self._grabbed = False self._shadows = SpriteGroup() self._shadows_dict = dict() self._running_animations = dict() B.linkEvent('DO_DROP_STACK', self.return_stack) if value: self.add(*cash_to_chips(value))
def __init__(self): """Initialise the bingo game""" # self.verbose = False self.sound_muted = prepare.ARGS['debug'] # self.screen_rect = pg.Rect((0, 0), prepare.RENDER_SIZE) self.auto_pick = S['debug-auto-pick'] # self.ui = common.ClickableGroup() # self.lobby_button = NeonButton(S['lobby-position'], 'Lobby', self.return_to_lobby) self.new_game_button = NeonButton( S['new-game-position'], 'New', lambda x: self.restart_game(None, None)) # # The controls to allow selection of different numbers of cards self.card_selector = cardselector.CardSelector('card-selector', self) self.card_selector.linkEvent(events.E_NUM_CARDS_CHANGED, self.change_number_of_cards) self.ui.append(self.card_selector.ui) # self.create_card_collection() self.ui.extend(self.cards) # self.winning_pattern = patterns.PATTERNS[0] # self.pattern_buttons = common.DrawableGroup() self.debug_buttons = common.DrawableGroup() self.buttons = common.DrawableGroup([self.pattern_buttons]) # if prepare.DEBUG: self.buttons.append(self.debug_buttons) # super(Bingo, self).__init__() # # The machine for picking balls self.ball_machine = ballmachine.BallMachine('ball-machine', self) self.ball_machine.start_machine() self.ui.append(self.ball_machine.buttons) # self.all_cards = common.DrawableGroup() self.all_cards.extend(self.cards) self.all_cards.extend(self.dealer_cards) # B.linkEvent(events.E_PLAYER_PICKED, self.player_picked) B.linkEvent(events.E_PLAYER_UNPICKED, self.player_unpicked) B.linkEvent(events.E_CARD_COMPLETE, self.card_completed) # self.current_pick_sound = 0 self.last_pick_time = 0
def __init__(self): """Initialise the bingo game""" # self.verbose = False self.sound_muted = prepare.ARGS['debug'] # self.screen_rect = pg.Rect((0, 0), prepare.RENDER_SIZE) self.auto_pick = S['debug-auto-pick'] # self.ui = common.ClickableGroup() # self.lobby_button = NeonButton(S['lobby-position'], 'Lobby', self.return_to_lobby) self.new_game_button = NeonButton(S['new-game-position'], 'New', lambda x: self.restart_game(None, None)) # # The controls to allow selection of different numbers of cards self.card_selector = cardselector.CardSelector('card-selector', self) self.card_selector.linkEvent(events.E_NUM_CARDS_CHANGED, self.change_number_of_cards) self.ui.append(self.card_selector.ui) # self.create_card_collection() self.ui.extend(self.cards) # self.winning_pattern = patterns.PATTERNS[0] # self.pattern_buttons = common.DrawableGroup() self.debug_buttons = common.DrawableGroup() self.buttons = common.DrawableGroup([self.pattern_buttons]) # if prepare.DEBUG: self.buttons.append(self.debug_buttons) # super(Bingo, self).__init__() # # The machine for picking balls self.ball_machine = ballmachine.BallMachine('ball-machine', self) self.ball_machine.start_machine() self.ui.append(self.ball_machine.buttons) # self.all_cards = common.DrawableGroup() self.all_cards.extend(self.cards) self.all_cards.extend(self.dealer_cards) # B.linkEvent(events.E_PLAYER_PICKED, self.player_picked) B.linkEvent(events.E_PLAYER_UNPICKED, self.player_unpicked) B.linkEvent(events.E_CARD_COMPLETE, self.card_completed) # self.current_pick_sound = 0 self.last_pick_time = 0
def startup(self, now, persistent): self.now = now self.persist = persistent # stuff that might get moved to a gui layer sometime? self._needs_clear = True self._clicked_sprite = None self._power = .5 self._should_autoplay = False B.linkEvent('pachinko_jackpot', self.on_jackpot) B.linkEvent('pachinko_gutter', self.on_gutter) B.linkEvent('pachinko_tray', self.on_tray) # hack related to game states that do not finish try: self.on_tray() except: pass self.done = False try: self.playfield.background = None except AttributeError: pass # hack related to game states that do not finish if self.did_startup: return self.did_startup = True self.casino_player = self.persist['casino_player'] self.casino_player.current_game = self.name self.playfield = Playfield() self.hud = pg.sprite.RenderUpdates() font = pg.font.Font(prepare.FONTS["Saniretro"], font_size) self.tray_count = TextSprite('', font) self.tray_count.rect.topleft = 960, 100 self.hud.add(self.tray_count) self.on_tray() t = TextSprite("Press F to add 25", font) t.rect.topleft = 960, 170 self.hud.add(t) t = TextSprite("Spacebar Shoots", font) t.rect.topleft = 960, 250 self.hud.add(t) def lower_power(): self.playfield.auto_power -= .01 def raise_power(): self.playfield.auto_power += .01 font = pg.font.Font(prepare.FONTS["Saniretro"], 50) fg = pg.Color('gold2') text = TextSprite("- POWER", font, fg=fg) self.hud.add(Button(text, (1000, 370, 350, 80), lower_power)) text = TextSprite("AUTO", font, fg=fg) self.auto_button = Button(text, (1000, 460, 350, 80), self.toggle_autoplay) self.hud.add(self.auto_button) text = TextSprite("+ POWER", font, fg=fg) self.hud.add(Button(text, (1000, 550, 350, 80), raise_power)) b = NeonButton('lobby', (1000, 920, 0, 0), self.goto_lobby) self.hud.add(b) if 'Pachinko' not in self.casino_player.stats: self.casino_player.stats['Pachinko'] = OrderedDict([ ('games played', 0), ('total winnings', 0), ('earned', 0), ('jackpots', 0), ('gutters', 0), ]) self.casino_player.stats['Pachinko']['games played'] += 1
def link_events(self): for name, f in self.interested_events: B.linkEvent(name, f)