One way to do this is to use nested loops. An outer loop calls functions which each contain their own inner loop. Each inner loop function will return either the inner loop function that should run next or None. If None is returned instead of a function, then the program exits.
Here's a template for you: import pygame def main(): """one main loop to rule them all""" pygame.init() screen = pygame.display.set_mode((500, 500)) func = menu while func is not None: next_func = func(screen) func = next_func pygame.quit() def menu(screen): """main loop for menu mode""" # Clear screen # Put your menu's main loop here # To run minigame_1, set chosen_game to minigame_1 and exit the loop # To run minigame_2, set chosen_game to minigame_2 and exit the loop # To quit the application, set chosen_game to None and exit the loop return chosen_game def minigame_1(screen): """main loop for minigame_1""" # Clear screen # Put your first game's main loop here return menu def minigame_2(screen): """main loop for minigame_2""" # Clear screen # Put your second game's main loop here return menu if __name__ == "__main__": main() Jason ________________________________ From: Astan <k12...@gmail.com> To: pygame-users@seul.org Sent: Monday, November 4, 2013 8:50 PM Subject: [pygame] Pygame minigames Hi, I'm trying to make a sort of game in pygame that is a collection of minigames (that may or may not be timed-based). The problem I'm having is developing something like this. I was wondering if it was possible to make the main interface of the game with pygame normally for menus, etc and then making these minigames with pygame as well and then combining them. Currently, I'm having problems combining these two files/modules since they both init pygame and do various background manipulation. Are there any examples of something like this that might help me? Cheers Thanks -- "To make a photocopier, simply photocopy a mirror."