def shop_initial_dialog(self, centre_screen, tile_value): centre_screen.fill(BACKGROUND_COLOUR) button_rect = pg.Rect(0, 0, 240, 60) buy_button = Button( centre_screen, (centre_screen.get_width()/2, centre_screen.get_height()/2 - button_rect.height), "Buy", 20, rect=button_rect, pos_offset=(TILE_WIDTH, TILE_HEIGHT)) sell_button = Button( centre_screen, (centre_screen.get_width()/2, centre_screen.get_height()/2), "Sell", 20, rect=button_rect, pos_offset=(TILE_WIDTH, TILE_HEIGHT)) leave_button = Button( centre_screen, (centre_screen.get_width()/2, centre_screen.get_height()/2 + button_rect.height), "Leave", 20, rect=button_rect, pos_offset=(TILE_WIDTH, TILE_HEIGHT)) buy_button.update() sell_button.update() leave_button.update() pg.display.update(centre_screen.get_rect(topleft=(TILE_WIDTH, TILE_HEIGHT))) while True: for event in pg.event.get(): if event.type == pg.QUIT: pg.quit() sys.exit() buy_button.update_state(event) sell_button.update_state(event) leave_button.update_state(event) if buy_button.buttonPressed: DEBUG.log("Buy button pressed", level=2) centre_screen.fill(BACKGROUND_COLOUR) self.shop_action_buy(centre_screen, tile_value) break elif sell_button.buttonPressed: DEBUG.log("Sell button pressed", level=2) centre_screen.fill(BACKGROUND_COLOUR) self.shop_action_sell(centre_screen) break elif leave_button.buttonPressed: DEBUG.log("Leave button pressed", level=2) self.action_result = ACTION_RESULT_SHOP_LEAVE # escape recursion if leaving return # recursive process for buying/selling self.shop_initial_dialog(centre_screen, tile_value)
i = 0 while i < 6000: i += 1 screen.fill(BACKGROUND_COLOUR) events = pg.event.get() # Check for quit button for event in events: if event.type == pg.QUIT: pg.quit() sys.exit() # Initialize before starting game if startButton: startButton.update_state(event) startButton.update() if startButton.buttonPressed: del startButton startButton = None elif num_players_textbox: num_players_textbox.update(events) if not num_players_textbox.return_pressed: num_players_textbox.draw(screen) else: DEBUG.log("num_players_textbox returned", level=1) num_human_players = int(num_players_textbox.value) num_players_textbox = None # Initialize and start the main game engine game = Game(screen, num_human_players, 0)