def mainMenu(): menuPos = [0, 30] level = 1 profiles = [Profiles.Profile(getConst("PROFILES")[0], 1), Profiles.Profile(getConst("PROFILES")[1], 2)] _done = False drawMainMenu(profiles, menuPos) while not _done: for ev in pygame.event.get(): if ev.type == QUIT or (ev.type == KEYDOWN and ev.key == K_ESCAPE): _done = True elif ev.type == MOUSEBUTTONDOWN: for i in [0, 1]: if buttonHit(ev.pos, ([menuPos[0] + 50 + 175 * i, menuPos[1] + 60], [menuPos[0] + 175 + 175 * i, menuPos[1] + 60 + 30])): result = profileMenu(profiles[i]) if result == "QUIT": _done = True drawMainMenu(profiles, menuPos) if buttonHit(ev.pos, ([menuPos[0] + 160, menuPos[1] + 20], [menuPos[0] + 240, menuPos[1] + 50])): if playGame(1, profiles) == "QUIT": _done = True drawMainMenu(profiles, menuPos) elif buttonHit(ev.pos, ([menuPos[0] + 180, menuPos[1] + 60], [menuPos[0] + 220, menuPos[1] + 90])): if playGame("VS", profiles) == "QUIT": _done = True drawMainMenu(profiles, menuPos) else: if menuPos[0] + 23 < ev.pos[0] <= menuPos[0] + 383 and menuPos[1] + 100 <= ev.pos[1] <= menuPos[1] + 100 + 36 * 3 \ and (ev.pos[0] - 23 - menuPos[0]) % 36 - 30 < 0 and (ev.pos[1] - 100 - menuPos[1]) % 36 - 30 < 0: level = (ev.pos[0] - 23 - menuPos[0]) / 36 + 1 + ((ev.pos[1] - 100 - menuPos[1]) / 36) * 10 if playGame(level, profiles) == "QUIT": _done = True drawMainMenu(profiles, menuPos)
if buttonHit(ev.pos, ([menuPos[0] + 50 + 175 * i, menuPos[1] + 60], [menuPos[0] + 175 + 175 * i, menuPos[1] + 60 + 30])): result = profileMenu(profiles[i]) if result == "QUIT": _done = True drawMainMenu(profiles, menuPos) if buttonHit(ev.pos, ([menuPos[0] + 160, menuPos[1] + 20], [menuPos[0] + 240, menuPos[1] + 50])): if playGame(1, profiles) == "QUIT": _done = True drawMainMenu(profiles, menuPos) elif buttonHit(ev.pos, ([menuPos[0] + 180, menuPos[1] + 60], [menuPos[0] + 220, menuPos[1] + 90])): if playGame("VS", profiles) == "QUIT": _done = True drawMainMenu(profiles, menuPos) else: if menuPos[0] + 23 < ev.pos[0] <= menuPos[0] + 383 and menuPos[1] + 100 <= ev.pos[1] <= menuPos[1] + 100 + 36 * 3 \ and (ev.pos[0] - 23 - menuPos[0]) % 36 - 30 < 0 and (ev.pos[1] - 100 - menuPos[1]) % 36 - 30 < 0: level = (ev.pos[0] - 23 - menuPos[0]) / 36 + 1 + ((ev.pos[1] - 100 - menuPos[1]) / 36) * 10 if playGame(level, profiles) == "QUIT": _done = True drawMainMenu(profiles, menuPos) play = True if len(sys.argv) >= 2 and isInt(sys.argv[1]): level = int(sys.argv[1]) if playGame(level, [Profiles.Profile("Player1", 1), Profiles.Profile("Player2", 2)]) == "QUIT": play = False if play: mainMenu() #(surface, pos, size, text, drawBorder, bckClr = [0, 0, 0], txtClr = [255, 255, 255])