def runMenu(f, menu): global tintmenus, allmenus, selected_menu, leagueOptions, teamOptions, day #play, team, league selected_menu = menu #default options to the menu teamOptions = "menu" leagueOptions = "menu" exitLoop = False #exit game allmenus = False #all top level menus (play, team, league)- defaults to false tintmenus = [glovars.black, glovars.black, glovars.black] #tint color for all menus appPressed = False #if an app is pressed on phone loops = 315 #number of loops - defaults to maximun when no app is pressed #current matchup day day = f["info"][0]["day"] #current schedule observe day oday = day loopImages(f) backButtonClickCheck = glovars.screen.blit(pygame.image.load("assets/images/backButton.png"), (0,576)) while not exitLoop: for event in pygame.event.get(): if event.type == pygame.QUIT: exitLoop = 0 pygame.quit() exit() break if event.type == pygame.MOUSEBUTTONDOWN: if backButtonClickCheck.collidepoint(pygame.mouse.get_pos()): return franchiseload.runMenu() if menuplay.collidepoint(pygame.mouse.get_pos()): selected_menu = 0 if menuteam.collidepoint(pygame.mouse.get_pos()): selected_menu = 1 teamOptions = "menu" if menuleague.collidepoint(pygame.mouse.get_pos()): selected_menu = 2 leagueOptions = "menu" #check if team and league options have been selected teamOptions, leagueOptions, oday = optionsCheck(teamOptions, leagueOptions, oday, f) if event.type == pygame.KEYUP: if event.key == pygame.K_y: appPressed = not appPressed loops = 0 #check for allmenus tint if allmenus: for i in range(3): if allmenus[i].collidepoint(pygame.mouse.get_pos()): tintmenus[i] = glovars.blackTint else: tintmenus[i] = glovars.black loopImages(f) allmenus = [menuplay, menuteam, menuleague] if backButtonClickCheck.collidepoint(pygame.mouse.get_pos()): backButtonClickCheck = glovars.screen.blit(pygame.image.load("assets/images/backButtonHover.png"), (0,576)) else: backButtonClickCheck = glovars.screen.blit(pygame.image.load("assets/images/backButton.png"), (0,576)) #phone open and close apps if appPressed: phone.drawApp(loops) else: phone.closeApp(loops) #adjust loops when phone opens or closes apps if loops < 315: loops += 20 if loops > 315: loops = 315 pygame.display.flip()
def runMenu(selectedTeam, franchises): exitLoop = False name_string = [] backButtonClickCheck = glovars.screen.blit(pygame.image.load("assets/images/backButton.png"), (0,576)) playButtonClickCheck = False while not exitLoop: for event in pygame.event.get(): if event.type == pygame.QUIT: exitLoop = 0 pygame.quit() exit() break if event.type == pygame.MOUSEBUTTONDOWN: if backButtonClickCheck.collidepoint(pygame.mouse.get_pos()): return franchiseload.runMenu() if playButtonClickCheck != False: if playButtonClickCheck.collidepoint(pygame.mouse.get_pos()): rfile = open("savedata.json", "r") data = json.load(rfile) rfile.close() data["franchises"].append({"info":[{"name":sep_string,"userteam":glovars.defaultTeams[selectedTeam].name, "season": 1, "day": 0}], "teamdata":glovars.franchiseTeamData, "schedule": schedule.createSchedule(10), "results":[]}) wfile = open("savedata.json", "w") json.dump(data, wfile) wfile.close() rfile = open("savedata.json", "r") franchises = json.load(rfile)["franchises"] num_franchises = len(franchises) rfile.close() franchisemenu.runMenu(franchises[num_franchises - 1], 0) if event.type == pygame.KEYDOWN: if event.key <= 122 and event.key >= 97: if len(name_string) < 15: name_string.append(chr(event.key)) if event.key <= 57 and event.key >= 48: if len(name_string) < 15: name_string.append(chr(event.key)) if event.key == pygame.K_BACKSPACE: if len(name_string) > 0: name_string.pop() if event.key == pygame.K_SPACE: if len(name_string) < 14: name_string.append(chr(event.key)) if event.type == pygame.MOUSEBUTTONDOWN and playerTeamRight.collidepoint(pygame.mouse.get_pos()): selectedTeam += 1 if selectedTeam >= len(glovars.defaultTeams): selectedTeam = 0 if event.type == pygame.MOUSEBUTTONDOWN and playerTeamLeft.collidepoint(pygame.mouse.get_pos()): selectedTeam -= 1 if selectedTeam < 0: selectedTeam = len(glovars.defaultTeams) - 1 seperator = "" sep_string = seperator.join(name_string) playButtonClickCheck = loopImages(selectedTeam, sep_string, franchises) if backButtonClickCheck.collidepoint(pygame.mouse.get_pos()): backButtonClickCheck = glovars.screen.blit(pygame.image.load("assets/images/backButtonHover.png"), (0,576)) else: backButtonClickCheck = glovars.screen.blit(pygame.image.load("assets/images/backButton.png"), (0,576)) if playButtonClickCheck: if playButtonClickCheck.collidepoint(pygame.mouse.get_pos()): playButtonClickCheck = glovars.screen.blit(pygame.image.load("assets/images/playButtonHover.png"), (824,576)) else: playButtonClickCheck = glovars.screen.blit(pygame.image.load("assets/images/playButton.png"), (824,576)) pygame.display.flip()
def runMenu(): if(not path.exists("savedata.json")): data = {} data["franchises"] = [] data["stories"] = [] data["codes"] = [] dfile = open("savedata.json", "w") json.dump(data, dfile) dfile.close() nextmenu = -1 exitLoop = False click = False global hovers, blurs hovers = [None] * 6 blurs = [None] * 6 location = [(0,0),(0,209),(0,418),(684,0),(684,209),(684,418)] wait = False background = None initImages() menuStartTime = time.perf_counter() menuElapsedTime = 0 menuTotalTime = 0 while not exitLoop: for event in pygame.event.get(): if event.type == pygame.QUIT: exitLoop = 0 pygame.quit() exit() break if event.type == pygame.MOUSEBUTTONDOWN: click = True if background == None: background = random.choice(bglist) wait = True glovars.screen.blit(background, (342, 209)) for i in range(len(blurs)): hoverCheck = glovars.screen.blit(blurs[i], location[i]) if hoverCheck.collidepoint(pygame.mouse.get_pos()): glovars.screen.blit(hovers[i],location[i]) if click == True: nextmenu = i initBorders() pygame.display.flip() if int(menuTotalTime) % 4 == 0 and wait == False: background = None elif int(menuTotalTime) % 4 == 1: wait = False menuElapsedTime = time.perf_counter() menuTotalTime = menuElapsedTime - menuStartTime if(nextmenu == 0): return playnowmenu.runMenu(0,1) if(nextmenu == 1): return franchiseload.runMenu() if(nextmenu == 2): return storyload.runMenu() click = False
def runMenu(menu, ffran): global tintmenus, allmenus, selected_menu, leagueOptions, teamOptions, day, playerTeam, selected_move, fnum #set the fnum of this franchise fnum = ffran #all game data rfile = open("savedata.json", "r") data = json.load(rfile) rfile.close() #data for this franchise f = data["franchises"][fnum] #play, team, league selected_menu = menu #change color for roster moves selected_move = None #default options to the menu teamOptions = "menu" leagueOptions = "menu" exitLoop = False #exit game allmenus = False #all top level menus (play, team, league)- defaults to false tintmenus = [glovars.black, glovars.black, glovars.black] #tint color for all menus appPressed = False #if an app is pressed on phone loops = 315 #number of loops - defaults to maximun when no app is pressed #current matchup day day = f["info"][0]["day"] #current player team for i in range(6): if f["info"][0]["userteam"] == glovars.defaultTeams[i].name: playerTeam = i #defaults opage (operating page) to None opage = None loopImages(data) backButtonClickCheck = glovars.screen.blit( pygame.image.load("assets/images/backButton.png"), (0, 576)) while not exitLoop: for event in pygame.event.get(): if event.type == pygame.QUIT: exitLoop = 0 pygame.quit() exit() break if event.type == pygame.MOUSEBUTTONDOWN: if backButtonClickCheck.collidepoint(pygame.mouse.get_pos()): return franchiseload.runMenu() if menuplay.collidepoint(pygame.mouse.get_pos()): selected_menu = 0 if menuteam.collidepoint(pygame.mouse.get_pos()): selected_menu = 1 teamOptions = "menu" if menuleague.collidepoint(pygame.mouse.get_pos()): selected_menu = 2 leagueOptions = "menu" for i in range(3): if moveButtons[ i] != False: #check for click on roster tab - move buttons if moveButtons[i].collidepoint(pygame.mouse.get_pos()): if selected_move == i: selected_move = None elif selected_move == None: selected_move = i elif selected_move != i: rosterSwitch(i, f, data) selected_move = None #check if team and league options have been selected teamOptions, leagueOptions, opage = optionsCheck( teamOptions, leagueOptions, opage, f) if event.type == pygame.KEYUP: if event.key == pygame.K_y: appPressed = not appPressed loops = 0 #check for allmenus tint if allmenus: for i in range(3): if allmenus[i].collidepoint(pygame.mouse.get_pos()): tintmenus[i] = glovars.blackTint else: tintmenus[i] = glovars.black loopImages(data) allmenus = [menuplay, menuteam, menuleague] if backButtonClickCheck.collidepoint(pygame.mouse.get_pos()): backButtonClickCheck = glovars.screen.blit( pygame.image.load("assets/images/backButtonHover.png"), (0, 576)) else: backButtonClickCheck = glovars.screen.blit( pygame.image.load("assets/images/backButton.png"), (0, 576)) #phone open and close apps if appPressed: phone.drawApp(loops) else: phone.closeApp(loops) #adjust loops when phone opens or closes apps if loops < 315: loops += 20 if loops > 315: loops = 315 pygame.display.flip()