def initImages(): global backButtonClickCheck, franchises, num_franchises data = open("savedata.json", "r") franchises = json.load(data)["franchises"] num_franchises = len(franchises) data.close() #background glovars.screen.blit(pygame.image.load("assets/images/franchiseBG.png"), (0, 0)) #back button pygame.draw.rect(glovars.screen, glovars.white, (0, 572, 204, 4), 0) pygame.draw.rect(glovars.screen, glovars.white, (200, 576, 4, 50), 0) #franchise select glovars.message_display("franchise select", 668, 19, glovars.teamSelectFont, glovars.black) #delete mode glovars.message_display("Press y to toggle between load and delete mode", 480, 590, glovars.teamFont20, glovars.black)
def loopImages(listPlayer, listComputer): glovars.screen.blit(glovars.defaultTeams[listPlayer].selectImage, (589, 150)) glovars.screen.blit(glovars.defaultTeams[listComputer].selectImage, (60, 150)) #fill in ovr pygame.draw.rect(glovars.screen, glovars.black, (270, 480, 90, 45), 0) pygame.draw.rect(glovars.screen, glovars.black, (799, 480, 90, 45), 0) glovars.message_display("OVR:", 279, 478, glovars.teamFont40, glovars.white) glovars.message_display("OVR:", 808, 478, glovars.teamFont40, glovars.white) glovars.message_display(str(glovars.defaultTeams[listComputer].overall), 370, 421, glovars.EALarge, glovars.white) glovars.message_display(str(glovars.defaultTeams[listPlayer].overall), 899, 421, glovars.EALarge, glovars.white) #mouse image to signify player controlled pygame.draw.rect(glovars.screen, glovars.black, (589, 425, 75, 100), 0) glovars.screen.blit(pygame.image.load("assets/images/mouse.png"), (587, 425))
def loopImages(tint): global selected_franchise, loadFranchise loadFranchise = [False] * 5 if tint == True: newColor = glovars.blackTint else: newColor = glovars.black #franchises that cannot be selected if num_franchises < 5: pygame.draw.rect(glovars.screen, glovars.grey, (100, 480, 824, 50), 0) if num_franchises < 4: pygame.draw.rect(glovars.screen, glovars.grey, (100, 380, 824, 50), 0) if num_franchises < 3: pygame.draw.rect(glovars.screen, glovars.grey, (100, 280, 824, 50), 0) if num_franchises < 2: pygame.draw.rect(glovars.screen, glovars.grey, (100, 180, 824, 50), 0) #franchises that can be selected as new if num_franchises == 5: selected_franchise = False elif num_franchises == 4: selected_franchise = pygame.draw.rect(glovars.screen, newColor, (100, 480, 598, 50), 0) glovars.message_display("new franchise", 110, 488, glovars.EASmall30, glovars.white) elif num_franchises == 3: selected_franchise = pygame.draw.rect(glovars.screen, newColor, (100, 380, 598, 50), 0) glovars.message_display("new franchise", 110, 388, glovars.EASmall30, glovars.white) elif num_franchises == 2: selected_franchise = pygame.draw.rect(glovars.screen, newColor, (100, 280, 598, 50), 0) glovars.message_display("new franchise", 110, 288, glovars.EASmall30, glovars.white) elif num_franchises == 1: selected_franchise = pygame.draw.rect(glovars.screen, newColor, (100, 180, 598, 50), 0) glovars.message_display("new franchise", 110, 188, glovars.EASmall30, glovars.white) elif num_franchises == 0: selected_franchise = pygame.draw.rect(glovars.screen, newColor, (100, 80, 598, 50), 0) glovars.message_display("new franchise", 110, 88, glovars.EASmall30, glovars.white) #white boxes where scorebugs are pygame.draw.rect(glovars.screen, glovars.white, (698, 80, 226, 50), 0) pygame.draw.rect(glovars.screen, glovars.white, (698, 180, 226, 50), 0) pygame.draw.rect(glovars.screen, glovars.white, (698, 280, 226, 50), 0) pygame.draw.rect(glovars.screen, glovars.white, (698, 380, 226, 50), 0) pygame.draw.rect(glovars.screen, glovars.white, (698, 480, 226, 50), 0) #to show user if they are loading or deleting if loadmode: loadstring = "load" else: loadstring = "delete" #franchises that can be selected to load if num_franchises > 0: loadFranchise[0] = pygame.draw.rect(glovars.screen, glovars.white, (100, 80, 824, 50), 0) printExtras(0, 698, 80) glovars.message_display( loadstring + " coach " + str(franchises[0]["info"][0]["name"]), 110, 88, glovars.EASmall30, glovars.black) if num_franchises > 1: loadFranchise[1] = pygame.draw.rect(glovars.screen, glovars.white, (100, 180, 824, 50), 0) printExtras(1, 698, 180) glovars.message_display( loadstring + " coach " + str(franchises[1]["info"][0]["name"]), 110, 188, glovars.EASmall30, glovars.black) if num_franchises > 2: loadFranchise[2] = pygame.draw.rect(glovars.screen, glovars.white, (100, 280, 824, 50), 0) printExtras(2, 698, 280) glovars.message_display( loadstring + " coach " + str(franchises[2]["info"][0]["name"]), 110, 288, glovars.EASmall30, glovars.black) if num_franchises > 3: loadFranchise[3] = pygame.draw.rect(glovars.screen, glovars.white, (100, 380, 824, 50), 0) printExtras(3, 698, 380) glovars.message_display( loadstring + " coach " + str(franchises[3]["info"][0]["name"]), 110, 388, glovars.EASmall30, glovars.black) if num_franchises > 4: loadFranchise[4] = pygame.draw.rect(glovars.screen, glovars.white, (100, 480, 824, 50), 0) printExtras(4, 698, 480) glovars.message_display( loadstring + " coach " + str(franchises[4]["info"][0]["name"]), 110, 488, glovars.EASmall30, glovars.black)
def loopImages(f): global menuplay, menuteam, menuleague, leagueOptionsButtons, teamOptionsButtons, left_observe, right_observe #background glovars.screen.blit(pygame.image.load("assets/images/franchiseBG.png"), (0,0)) #franchise name glovars.message_display("coach " + str(f["info"][0]["name"]) + " of the " + str(f["info"][0]["userteam"]),40,20,glovars.teamSelectFont,glovars.black) #franchise season if int(str(f["info"][0]["season"])) >= 100: glovars.message_display("season " + str(f["info"][0]["season"]),800,575,glovars.teamSelectFont,glovars.black) elif int(str(f["info"][0]["season"])) >= 10: glovars.message_display("season " + str(f["info"][0]["season"]),820,575,glovars.teamSelectFont,glovars.black) else: glovars.message_display("season " + str(f["info"][0]["season"]),840,575,glovars.teamSelectFont,glovars.black) #back button pygame.draw.rect(glovars.screen,glovars.white,(0,572,204,4),0) pygame.draw.rect(glovars.screen,glovars.white,(200,576,4,50),0) #phone glovars.screen.blit(pygame.image.load("assets/images/phone.png"), (698,148)) # PLAY MENU if selected_menu == 0: pygame.draw.rect(glovars.screen,glovars.white,(94,76,234,58),0) #selected #determine home and away team for next game hometeam = glovars.defaultTeams[determineTeams(f)[1]].name awayteam = glovars.defaultTeams[determineTeams(f)[0]].name #outline franchise images playing pygame.draw.rect(glovars.screen,glovars.white,(94,152,202,400),0) pygame.draw.rect(glovars.screen,glovars.white,(426,152,202,400),0) #draw franchise images playing for i in glovars.defaultTeams: if hometeam == i.name: glovars.screen.blit(i.franchiseImage, (430,156)) elif awayteam == i.name: glovars.screen.blit(i.franchiseImage, (98,156)) #overall pygame.draw.rect(glovars.screen,glovars.black,(208,328,46,24),0) pygame.draw.rect(glovars.screen,glovars.black,(540,328,46,24),0) glovars.message_display("OVR:",544,327,glovars.teamFont20,glovars.white) glovars.message_display("OVR:",212,327,glovars.teamFont20,glovars.white) glovars.message_display(str(f["teamdata"][0][hometeam][0]["overall"]),591,297,glovars.EASmall50,glovars.white) glovars.message_display(str(f["teamdata"][0][awayteam][0]["overall"]),259,297,glovars.EASmall50,glovars.white) #play and sim buttons pygame.draw.rect(glovars.screen,glovars.white,(94,350,534,202),0) pygame.draw.rect(glovars.screen,glovars.black,(98,354,261,194),0) pygame.draw.rect(glovars.screen,glovars.black,(363,354,261,194),0) #displays text based on week if f["info"][0]["day"] == 0: glovars.message_display("play",110,471,glovars.teamFont30,glovars.white) glovars.message_display("preseason",110,506,glovars.teamFont30,glovars.white) glovars.message_display("sim",375,471,glovars.teamFont30,glovars.white) glovars.message_display("preseason",375,506,glovars.teamFont30,glovars.white) else: glovars.message_display("play game " + str(f["info"][0]["day"]),110,506,glovars.teamFont30,glovars.white) glovars.message_display("sim game " + str(f["info"][0]["day"]),375,506,glovars.teamFont30,glovars.white) #vs box pygame.draw.rect(glovars.screen,glovars.white,(328,225,70,50),0) pygame.draw.rect(glovars.screen,glovars.black,(332,229,62,42),0) glovars.message_display("vs.", 341, 229, glovars.teamSelectFont, glovars.white) #default all teamOptions and team buttons to false teamOptionsButtons = [False] * 6 #default no schedule being observed left_observe = False right_observe = False # TEAM MENU if selected_menu == 1: pygame.draw.rect(glovars.screen,glovars.white,(394,76,234,58),0) #selected if teamOptions == "menu": #fill in outline borders for team options pygame.draw.rect(glovars.screen,glovars.white,(94,152,534,400),0) teamOptionsButtons[2] = pygame.draw.rect(glovars.screen,glovars.black,(98,354,261,194),0) teamOptionsButtons[3] = pygame.draw.rect(glovars.screen,glovars.black,(363,354,261,194),0) teamOptionsButtons[0] = pygame.draw.rect(glovars.screen,glovars.black,(98,156,261,194),0) teamOptionsButtons[1] = pygame.draw.rect(glovars.screen,glovars.black,(363,156,261,194),0) #team options glovars.message_display("roster",110,308,glovars.teamFont30,glovars.white) glovars.message_display("schedule",375,308,glovars.teamFont30,glovars.white) glovars.message_display("trade",110,506,glovars.teamFont30,glovars.white) glovars.message_display("free agents",375,506,glovars.teamFont30,glovars.white) elif teamOptions == "roster": pygame.draw.rect(glovars.screen,glovars.white,(94,152,534,400),0) # SCHEDULE elif teamOptions == "schedule": #set the matchup observed matchup = day_observe pygame.draw.rect(glovars.screen,glovars.white,(94,152,534,400),0) pygame.draw.rect(glovars.screen,glovars.black,(98,156,526,392),0) pygame.draw.rect(glovars.screen,glovars.white,(294,548,334,50),0) pygame.draw.rect(glovars.screen,glovars.black,(298,552,326,42),0) pygame.draw.rect(glovars.screen,glovars.white,(516,548,112,50),0) left_observe = pygame.draw.rect(glovars.screen,glovars.black,(520,552,50,42),0) right_observe = pygame.draw.rect(glovars.screen,glovars.black,(574,552,50,42),0) if matchup == 0: weektype = "Preseason" else: weektype = "matchup " + str(matchup) glovars.message_display(weektype,306,555,glovars.teamFont30,glovars.white) #display the schedule for the week for i in range(3): #offsets for match on right side xdist = 117 goalfilloffset = 0 goalsoffset = 0 borderoffset = 0 if i == 1: xdist = 379 borderoffset = -54 goalfilloffset = -284 goalsoffset = -22 #determine home and away teams, add outline, and blit to screen awayschedule = f["schedule"][day_observe][i][0] homeschedule = f["schedule"][day_observe][i][1] pygame.draw.rect(glovars.screen,glovars.white,(xdist - 4 + borderoffset, 171 + (125 * i), 288, 112),0) glovars.screen.blit(glovars.defaultTeams[homeschedule].scorebug, (xdist,229 + (125 * i))) glovars.screen.blit(glovars.defaultTeams[awayschedule].scorebug, (xdist,175 + (125 * i))) #determine scores, add fill, and blit to screen pygame.draw.rect(glovars.screen,glovars.black,(xdist + 230 + goalfilloffset, 175 + (125 * i), 50, 50),0) pygame.draw.rect(glovars.screen,glovars.black,(xdist + 230 + goalfilloffset, 229 + (125 * i), 50, 50),0) if day_observe < day: texthome = glovars.EASmall50.render(str((f["results"][day_observe][i][0]["Goals"])), True, glovars.white) texthome_rect = texthome.get_rect(center = (372 + goalsoffset, 254 + (125 * i))) textaway = glovars.EASmall50.render(str((f["results"][day_observe][i][1]["Goals"])), True, glovars.white) textaway_rect = textaway.get_rect(center = (372 + goalsoffset, 200 + (125 * i))) glovars.screen.blit(texthome, texthome_rect) glovars.screen.blit(textaway, textaway_rect) elif teamOptions == "trade": pygame.draw.rect(glovars.screen,glovars.white,(94,152,534,400),0) elif teamOptions == "free agents": pygame.draw.rect(glovars.screen,glovars.white,(94,152,534,400),0) #default all leagueOptions and league buttons to false leagueOptionsButtons = [False] * 6 # LEAGUE MENU if selected_menu == 2: pygame.draw.rect(glovars.screen,glovars.white,(694,76,234,58),0) #selected if leagueOptions == "menu": #fill in outline borders for league options pygame.draw.rect(glovars.screen,glovars.white,(94,152,534,400),0) leagueOptionsButtons[2] = pygame.draw.rect(glovars.screen,glovars.black,(98,354,261,194),0) leagueOptionsButtons[3] = pygame.draw.rect(glovars.screen,glovars.black,(363,354,261,194),0) leagueOptionsButtons[0] = pygame.draw.rect(glovars.screen,glovars.black,(98,156,261,194),0) leagueOptionsButtons[1] = pygame.draw.rect(glovars.screen,glovars.black,(363,156,261,194),0) #league options glovars.message_display("standings",110,308,glovars.teamFont30,glovars.white) glovars.message_display("stats",375,308,glovars.teamFont30,glovars.white) glovars.message_display("history",110,506,glovars.teamFont30,glovars.white) glovars.message_display("prestige",375,506,glovars.teamFont30,glovars.white) # STANDINGS elif leagueOptions == "standings": pygame.draw.rect(glovars.screen,glovars.white,(94,152,534,400),0) pygame.draw.rect(glovars.screen,glovars.black,(98,156,526,392),0) glovars.message_display("standings",116,180,glovars.teamFont30,glovars.googusGreen) glovars.message_display("w",375,180,glovars.teamFont30,glovars.googusGreen) glovars.message_display("l",446,180,glovars.teamFont30,glovars.googusGreen) glovars.message_display("ol",503,180,glovars.teamFont30,glovars.googusGreen) glovars.message_display("p",575,180,glovars.teamFont30,glovars.googusGreen) #order teams by points order = logic.calculateRankings(f) for i in range(len(order)): glovars.message_display(order[i]["mascot"],116,240 + (i * 50),glovars.teamFont30,glovars.white) glovars.message_display(str(order[i]["points"]),575,240 + (i * 50),glovars.teamFont30,glovars.white) glovars.message_display(str(f["teamdata"][0][order[i]["name"]][0]["wins"]),375,240 + (i * 50),glovars.teamFont30,glovars.white) glovars.message_display(str(f["teamdata"][0][order[i]["name"]][0]["losses"]),446,240 + (i * 50),glovars.teamFont30,glovars.white) glovars.message_display(str(f["teamdata"][0][order[i]["name"]][0]["overtimelosses"]),512,240 + (i * 50),glovars.teamFont30,glovars.white) # STATS elif leagueOptions == "stats": pygame.draw.rect(glovars.screen,glovars.white,(94,152,534,400),0) leagueOptionsButtons[4] = pygame.draw.rect(glovars.screen,glovars.black,(98,156,526,194),0) leagueOptionsButtons[5] = pygame.draw.rect(glovars.screen,glovars.black,(98,354,526,194),0) glovars.message_display("player stats",110,308,glovars.teamFont30,glovars.white) glovars.message_display("team stats",110,506,glovars.teamFont30,glovars.white) elif leagueOptions == "team stats": pygame.draw.rect(glovars.screen,glovars.white,(94,152,534,400),0) pygame.draw.rect(glovars.screen,glovars.black,(98,156,526,392),0) glovars.message_display("team stats",116,180,glovars.teamFont30,glovars.googusGreen) glovars.message_display("gf",375,180,glovars.teamFont30,glovars.googusGreen) glovars.message_display("ga",442,180,glovars.teamFont30,glovars.googusGreen) glovars.message_display("e",517,180,glovars.teamFont30,glovars.googusGreen) glovars.message_display("e",575,180,glovars.teamFont30,glovars.googusGreen) elif leagueOptions == "player stats": pygame.draw.rect(glovars.screen,glovars.white,(94,152,534,400),0) # HISTORY elif leagueOptions == "history": pygame.draw.rect(glovars.screen,glovars.white,(94,152,534,400),0) # PRESTIGE elif leagueOptions == "prestige": pygame.draw.rect(glovars.screen,glovars.white,(94,152,534,400),0) #fill menu options menuplay = pygame.draw.rect(glovars.screen,tintmenus[0],(98,80,226,50),0) menuteam = pygame.draw.rect(glovars.screen,tintmenus[1],(398,80,226,50),0) menuleague = pygame.draw.rect(glovars.screen,tintmenus[2],(698,80,226,50),0) #text on menu options glovars.message_display("next game",132,88,glovars.EASmall30,glovars.white) glovars.message_display("team",473,88,glovars.EASmall30,glovars.white) glovars.message_display("league",763,88,glovars.EASmall30,glovars.white)
def loopImages(selectedTeam, name_string, franchises): global backButtonClickCheck, playerTeamRight, playerTeamLeft #background glovars.screen.blit(pygame.image.load("assets/images/franchiseBG.png"), (0,0)) #name border pygame.draw.rect(glovars.screen,glovars.white,(324,92,375,4),0) pygame.draw.rect(glovars.screen,glovars.white,(324,146,375,4),0) pygame.draw.rect(glovars.screen,glovars.white,(324,96,4,50),0) pygame.draw.rect(glovars.screen,glovars.white,(695,96,4,50),0) #right arrow borders pygame.draw.rect(glovars.screen,glovars.white,(591,525,108,4),0) pygame.draw.rect(glovars.screen,glovars.white,(591,579,108,4),0) pygame.draw.rect(glovars.screen,glovars.white,(591,529,4,50),0) pygame.draw.rect(glovars.screen,glovars.white,(695,529,4,50),0) #left arrow borders pygame.draw.rect(glovars.screen,glovars.white,(324,525,108,4),0) pygame.draw.rect(glovars.screen,glovars.white,(324,579,108,4),0) pygame.draw.rect(glovars.screen,glovars.white,(324,529,4,50),0) pygame.draw.rect(glovars.screen,glovars.white,(428,529,4,50),0) #back button pygame.draw.rect(glovars.screen,glovars.white,(0,572,204,4),0) pygame.draw.rect(glovars.screen,glovars.white,(200,576,4,50),0) #fill in arrows playerTeamLeft = pygame.draw.rect(glovars.screen,glovars.black,(328,529,100,50),0) playerTeamRight = pygame.draw.rect(glovars.screen,glovars.black,(595,529,100,50),0) #team select arrows glovars.screen.blit(pygame.image.load("assets/images/arrow.png"), (324,529)) glovars.screen.blit(pygame.image.load("assets/images/arrowR.png"), (599,529)) #franchise select glovars.message_display("new franchise",688,19,glovars.teamSelectFont,glovars.black) glovars.screen.blit(glovars.defaultTeams[selectedTeam].selectImage, (324,150)) #fill in ovr pygame.draw.rect(glovars.screen,glovars.black,(534,480,90,45),0) glovars.message_display("OVR:",543,478,glovars.teamFont40,glovars.white) glovars.message_display(str(glovars.defaultTeams[selectedTeam].overall),634,421,glovars.EALarge,glovars.white) #fill in name pygame.draw.rect(glovars.screen,glovars.black,(328,96,367,50),0) #variables for play button duplicate = False playButtonClickCheck = False #check if name is valid for i in range(len(franchises)): if franchises[i]["info"][0]["name"] == name_string: duplicate = True #display name and play button if len(name_string) > 0: #start button glovars.message_display(name_string,338,100,glovars.teamSelectFont,glovars.white) if not duplicate: pygame.draw.rect(glovars.screen,glovars.white,(820,572,204,4),0) pygame.draw.rect(glovars.screen,glovars.white,(820,576,4,50),0) playButtonClickCheck = glovars.screen.blit(pygame.image.load("assets/images/playButton.png"), (824,576)) else: #name text glovars.message_display("type name:",338,100,glovars.teamSelectFont,glovars.white) return playButtonClickCheck
def initImages(): global computerTeamLeft, computerTeamInfo, computerTeamRight, playerTeamLeft, playerTeamInfo, playerTeamRight, backButtonClickCheck, playButtonClickCheck #background glovars.screen.blit(pygame.image.load("assets/images/playNowDrop.jpg"), (0, 0)) #player team info border pygame.draw.rect(glovars.screen, glovars.white, (926, 112, 38, 4), 0) pygame.draw.rect(glovars.screen, glovars.white, (926, 146, 38, 4), 0) pygame.draw.rect(glovars.screen, glovars.white, (960, 116, 4, 30), 0) pygame.draw.rect(glovars.screen, glovars.white, (926, 116, 4, 30), 0) #player team arrow border pygame.draw.rect(glovars.screen, glovars.white, (589, 92, 212, 4), 0) pygame.draw.rect(glovars.screen, glovars.white, (589, 146, 212, 4), 0) pygame.draw.rect(glovars.screen, glovars.white, (589, 96, 4, 50), 0) pygame.draw.rect(glovars.screen, glovars.white, (797, 96, 4, 50), 0) pygame.draw.rect(glovars.screen, glovars.white, (693, 96, 4, 50), 0) #opposing team info border pygame.draw.rect(glovars.screen, glovars.white, (223, 92, 212, 4), 0) pygame.draw.rect(glovars.screen, glovars.white, (223, 146, 212, 4), 0) pygame.draw.rect(glovars.screen, glovars.white, (223, 96, 4, 50), 0) pygame.draw.rect(glovars.screen, glovars.white, (431, 96, 4, 50), 0) pygame.draw.rect(glovars.screen, glovars.white, (327, 96, 4, 50), 0) #opposing team arrow border pygame.draw.rect(glovars.screen, glovars.white, (60, 112, 38, 4), 0) pygame.draw.rect(glovars.screen, glovars.white, (60, 146, 38, 4), 0) pygame.draw.rect(glovars.screen, glovars.white, (60, 116, 4, 30), 0) pygame.draw.rect(glovars.screen, glovars.white, (94, 116, 4, 30), 0) #fill in player team arrows and info playerTeamLeft = pygame.draw.rect(glovars.screen, glovars.black, (593, 96, 100, 50), 0) playerTeamInfo = pygame.draw.rect(glovars.screen, glovars.black, (930, 116, 30, 30), 0) playerTeamRight = pygame.draw.rect(glovars.screen, glovars.black, (697, 96, 100, 50), 0) glovars.message_display("i", 941, 121, glovars.ESPNSmall, glovars.white) #fill in computer team arrows and info computerTeamLeft = pygame.draw.rect(glovars.screen, glovars.black, (227, 96, 100, 50), 0) computerTeamInfo = pygame.draw.rect(glovars.screen, glovars.black, (64, 116, 30, 30), 0) computerTeamRight = pygame.draw.rect(glovars.screen, glovars.black, (331, 96, 100, 50), 0) glovars.message_display("i", 75, 121, glovars.ESPNSmall, glovars.white) #back button pygame.draw.rect(glovars.screen, glovars.white, (0, 572, 204, 4), 0) pygame.draw.rect(glovars.screen, glovars.white, (200, 576, 4, 50), 0) backButtonClickCheck = glovars.screen.blit( pygame.image.load("assets/images/backButton.png"), (0, 576)) #play button pygame.draw.rect(glovars.screen, glovars.white, (820, 572, 204, 4), 0) pygame.draw.rect(glovars.screen, glovars.white, (820, 576, 4, 50), 0) playButtonClickCheck = glovars.screen.blit( pygame.image.load("assets/images/playButton.png"), (824, 576)) #team select glovars.message_display("team select", 754, 19, glovars.teamSelectFont, glovars.black)
def knockeyGame(yourTeam, oppTeam): playerOffense = yourTeam.offense playerGoalie = oppTeam.goalie computerOffense = oppTeam.offense computerGoalie = yourTeam.goalie paused = 0 pauser = 0 gameLoop = 1 endLoop = 1 #ball contacting with sprites ballContact = 0 goalBallContact = 0 shotOrNot = 0 shotRadius = 0 shootCooldown = 0 shootCooldown2 = 0 collider = 0 #ball velocities velX = 0 velY = 0 #goal scoring and goal timing rightGoal = 0 leftGoal = 0 anyGoal = 0 team1score = 0 team2score = 0 goalTotalTime = 0 timeTracker = 0 goalTime = 0 #timer related total_secs = 120 seconds = 0 minutes = 0 secs_remain = -1 mins_remain = -1 total_ticks = 0 #period / end of game endOfPeriod = 0 period = 1 anyPeriod = 0 periodTime = 0 periodTotalTime = 0 endOfGame = 0 endTime = 0 endTotalTime = 0 anyGame = 0 resetRink(playerOffense, computerOffense, playerGoalie, computerGoalie) while gameLoop == 1 and endLoop == 1: space = 0 start_ticks = pygame.time.get_ticks() glovars.screen.fill(glovars.red) glovars.screen.blit(carpet, (0, 50)) glovars.screen.blit(scorebug1, (1024 - 145, 0)) glovars.screen.blit(scorebug1, (1024 - 240, 0)) glovars.screen.blit(oppTeam.scorebug, (180, 0)) glovars.screen.blit(yourTeam.scorebug, (479, 0)) glovars.screen.blit(scorebug2, (703, 0)) glovars.screen.blit(scorebug2, (404, 0)) ## glovars.screen.blit(banner,(0,0)) glovars.screen.blit(orangeBall, [ball1.x, ball1.y]) glovars.screen.blit(playerOffense.image, [playerOffense.x, playerOffense.y]) glovars.screen.blit(computerOffense.image, [computerOffense.x, computerOffense.y]) glovars.screen.blit(playerGoalie.image, [playerGoalie.x, playerGoalie.y]) glovars.screen.blit(computerGoalie.image, [computerGoalie.x, computerGoalie.y]) if anyPeriod: glovars.screen.blit(periodScreen, (0, 50)) if anyGoal: glovars.screen.blit(goalScored, (-7, 50)) if anyGame: glovars.screen.blit(gameOver, (0, 50)) pos = pygame.mouse.get_pos() velX, velY = ball1.getVelocities() for event in pygame.event.get(): if event.type == pygame.QUIT: endLoop = 0 pygame.quit() exit() break if event.type == pygame.KEYDOWN: if event.key == K_w: keys[0] = 1 elif event.key == K_a: keys[1] = 1 elif event.key == K_s: keys[2] = 1 elif event.key == K_d: keys[3] = 1 if event.type == pygame.KEYUP: if event.key == pygame.K_w: keys[0] = 0 elif event.key == pygame.K_a: keys[1] = 0 elif event.key == pygame.K_s: keys[2] = 0 elif event.key == pygame.K_d: keys[3] = 0 if event.type == pygame.KEYDOWN: if event.key == K_SPACE: space = 1 if event.type == pygame.KEYDOWN and paused == 0: if event.key == K_ESCAPE: paused = 1 if event.type == pygame.KEYUP and paused == 1: if event.key == K_ESCAPE: pauser = 1 if event.type == pygame.KEYDOWN and pauser == 1: if event.key == K_ESCAPE: paused = 0 if event.type == pygame.KEYUP and paused == 0: if event.key == K_ESCAPE: pauser = 0 if event.type == pygame.KEYDOWN and paused == 1: if event.key == K_i: endLoop = mainMenuGo(0) if endLoop == 0: break time_delta = clock.get_time() / 1000.0 if paused == 0: playerOffense.move(keys[0], keys[2], keys[1], keys[3], time_delta) if playerOffense.x > (1024 - (10 + playerOffense.width1 / 2)): playerOffense.x = (1024 - (10 + playerOffense.width1 / 2)) if playerOffense.x < 10: playerOffense.x = 10 if playerOffense.y > 626 - (10 + playerOffense.height1 / 2): playerOffense.y = 626 - (10 + playerOffense.height1 / 2) if playerOffense.y < 60: playerOffense.y = 60 if computerOffense.x > (1024 - (10 + computerOffense.width1 / 2)): computerOffense.x = (1024 - (10 + computerOffense.width1 / 2)) if computerOffense.x < 10: computerOffense.x = 10 if computerOffense.y > 626 - (10 + computerOffense.height1 / 2): computerOffense.y = 626 - (10 + computerOffense.height1 / 2) if computerOffense.y < 60: computerOffense.y = 60 if paused == 0: ball1.move(time_delta) if paused == 0: forwardMove(computerOffense, time_delta, 0) moveChance = random.randint(0, playerGoalie.reaction) if moveChance != 1 and paused == 0: goalieMove(playerGoalie, time_delta, 1, 0) moveChance = random.randint(0, computerGoalie.reaction) if moveChance != 1 and paused == 0: goalieMove(computerGoalie, time_delta, 0, 1) if ball1.x > (1024 - 40): ball1.x = (1024 - 40) ball1.dx = -ball1.dx ball1.angle = -ball1.angle if ball1.x < 10: ball1.x = 10 ball1.dx = -ball1.dx ball1.angle = -ball1.angle if ball1.y > (626 - 40): ball1.y = (626 - 40) ball1.dy = -ball1.dy ball1.angle = math.pi - ball1.angle if ball1.y < 60: ball1.y = 60 ball1.dy = -ball1.dy ball1.angle = math.pi - ball1.angle ball1.rect = ball1.image.get_rect(topleft=(ball1.x, ball1.y - 50)) ball1.mask = pygame.mask.from_surface(ball1.image) playerOffense.rect = playerOffense.image.get_rect( topleft=(playerOffense.x, playerOffense.y - 50)) playerOffense.mask = pygame.mask.from_surface(playerOffense.image) computerOffense.rect = playerOffense.image.get_rect( topleft=(computerOffense.x, computerOffense.y - 50)) computerOffense.mask = pygame.mask.from_surface(computerOffense.image) playerGoalie.rect = playerGoalie.image.get_rect( topleft=(playerGoalie.x, playerGoalie.y - 50)) playerGoalie.mask = pygame.mask.from_surface(playerGoalie.image) computerGoalie.rect = computerGoalie.image.get_rect( topleft=(computerGoalie.x, computerGoalie.y - 50)) computerGoalie.mask = pygame.mask.from_surface(computerGoalie.image) playersCollide(computerOffense, computerGoalie) playersCollide(computerOffense, playerGoalie) playersCollide(playerOffense, computerGoalie) playersCollide(playerOffense, playerGoalie) if shootCooldown > 0: shootCooldown = shootCooldown + 1 if shootCooldown == 20: shootCooldown = 0 if shootCooldown2 > 0: shootCooldown2 = shootCooldown2 + 1 if shootCooldown2 == 20: shootCooldown2 = 0 if shootCooldown == 0: if space == 1: shotOrNot = ball1.shoot(playerOffense) shootCooldown = 1 if pygame.sprite.collide_mask(ball1, playerOffense) != None: ballContact = 1 collider = playerOffense elif pygame.sprite.collide_mask(ball1, computerOffense) != None: ballContact = 1 collider = computerOffense forShot = random.randint(0, 2) if shootCooldown == 0: if ball1.x > computerOffense.x and forShot != 1: shotOrNot = 1 shootCooldown2 = 1 elif pygame.sprite.collide_mask(ball1, playerGoalie) != None: ballContact = 1 collider = playerGoalie elif pygame.sprite.collide_mask(ball1, computerGoalie) != None: ballContact = 1 collider = computerGoalie if ballContact == 1: ball1.collidePlayer(collider, shotOrNot) if ball1.rect.colliderect(goal11): allowOffset = goalCollide(85, 15, velX, velY) elif ball1.rect.colliderect(goal10): allowOffset = goalCollide(15, 85, velX, velY) elif ball1.rect.colliderect(goal12): allowOffset = goalCollide(15, 85, velX, velY) elif ball1.rect.colliderect(goal14): allowOffset = goalCollide(85, 15, velX, velY) elif ball1.rect.colliderect(goal13): allowOffset = goalCollide(15, 85, velX, velY) elif ball1.rect.colliderect(goal15): allowOffset = goalCollide(15, 85, velX, velY) if playerOffense.x > 120 - playerOffense.width1 / 2 and playerOffense.x < 205 and playerOffense.y > 203 - playerOffense.height1 / 4.5 and playerOffense.y < 373 + playerOffense.height1 / 2 - playerOffense.height1 / 4.5: playerOffense.x = playerOffense.groldx playerOffense.y = playerOffense.groldy if playerOffense.x > 819 - playerOffense.width1 / 2 and playerOffense.x < 904 and playerOffense.y > 203 - playerOffense.height1 / 4.5 and playerOffense.y < 373 + playerOffense.height1 / 2 - playerOffense.height1 / 4.5: playerOffense.x = playerOffense.groldx playerOffense.y = playerOffense.groldy if computerOffense.x > 120 - computerOffense.width1 / 2 and computerOffense.x < 205 and computerOffense.y > 203 - computerOffense.height1 / 4.5 and computerOffense.y < 373 + computerOffense.height1 / 2 - computerOffense.height1 / 4.5: computerOffense.x = computerOffense.groldx computerOffense.y = computerOffense.groldy if computerOffense.x > 819 - computerOffense.width1 / 2 and computerOffense.x < 904 and computerOffense.y > 203 - computerOffense.height1 / 4.5 and computerOffense.y < 373 + computerOffense.height1 / 2 - computerOffense.height1 / 4.5: computerOffense.x = computerOffense.groldx computerOffense.y = computerOffense.groldy if anyGoal == 0 and anyPeriod == 0 and anyGame == 0: if ball1.x - 15 > 819 and ball1.x - 15 < 904 - 40 and ball1.y - 34 > 205 and ball1.y - 15 < 375: if rightGoal == 0: rightGoal = 1 anyGoal = 1 if ball1.x + 15 > 150 and ball1.x + 15 < 202 and ball1.y - 34 > 205 and ball1.y - 15 < 375: if leftGoal == 0: leftGoal = 1 anyGoal = 1 if anyGoal == 0 and anyPeriod == 0 and anyGame == 0 and paused == 0: current_ticks = (pygame.time.get_ticks() - start_ticks) total_ticks = total_ticks + current_ticks seconds = math.trunc((total_ticks / 1000) % 60) minutes = math.trunc((total_ticks / 1000) / 60) secs_remain = (str("%02d" % (59 - seconds))) mins_remain = (str(2 - minutes)) if int(secs_remain) <= 0 and int(mins_remain) <= 0: if period == 3: if team1score != team2score: endOfGame = 1 anyGame = 1 elif period == 4: endOfGame = 1 anyGame = 1 else: endOfPeriod = 1 anyPeriod = 1 if leftGoal: goalTime = time.perf_counter() team2score = team2score + 1 leftGoal = 0 if rightGoal: goalTime = time.perf_counter() team1score = team1score + 1 rightGoal = 0 if anyGoal: timeTracker = time.perf_counter() goalTotalTime = timeTracker - goalTime if goalTotalTime > 2: anyGoal = 0 goalTotalTime = 0 resetRink(playerOffense, computerOffense, playerGoalie, computerGoalie) if endOfPeriod: periodTime = time.perf_counter() endOfPeriod = 0 if anyPeriod: timeTracker = time.perf_counter() periodTotalTime = timeTracker - periodTime if periodTotalTime > 2: total_ticks = 0 anyPeriod = 0 periodTotalTime = 0 period = period + 1 resetRink(playerOffense, computerOffense, playerGoalie, computerGoalie) if endOfGame: endTime = time.perf_counter() endOfGame = 0 if anyGame: timeTracker = time.perf_counter() endTotalTime = timeTracker - endTime if endTotalTime > 2: anyGame = 0 endTotalTime = 0 gameLoop = 0 if period == 1: periodForSB = "st" glovars.message_display(str(period), 1024 - 210, 5, glovars.periodFont, glovars.black) glovars.message_display(periodForSB, 1024 - 195, 6, glovars.periodFontSmall, glovars.black) elif period == 2: periodForSB = "nd" glovars.message_display(str(period), 1024 - 215, 5, glovars.periodFont, glovars.black) glovars.message_display(periodForSB, 1024 - 193, 9, glovars.periodFontSmall, glovars.black) elif period == 3: periodForSB = "rd" glovars.message_display(str(period), 1024 - 210, 5, glovars.periodFont, glovars.black) glovars.message_display(periodForSB, 1024 - 188, 9, glovars.periodFontSmall, glovars.black) elif period == 4: periodForSB = "OT" glovars.message_display(periodForSB, 1024 - 218, 5, glovars.periodFont, glovars.black) pygame.draw.rect(glovars.screen, glovars.black, (0, 0, 175, 50), 0) ## pygame.draw.rect(glovars.screen,glovars.lightGrey,(1024-145,0,145,50),0) pygame.draw.rect(glovars.screen, glovars.lightGrey, (170, 0, 10, 50), 0) pygame.draw.rect(glovars.screen, glovars.lightGrey, (1024 - 148, 0, 6, 50), 0) pygame.draw.rect(glovars.screen, glovars.lightGrey, (1024 - 246, 0, 11, 50), 0) glovars.message_display("GKHA", 20, 9, glovars.ESPN, glovars.white) glovars.message_display("G", 20, 9, glovars.ESPN, glovars.googusGreen) glovars.message_display(mins_remain + ":" + secs_remain, 1024 - 122, 7, glovars.timeFont, glovars.black) if team1score > 19: glovars.message_display(str(team1score), 717, 1, glovars.scoreFont, glovars.white) elif team1score > 9: glovars.message_display(str(team1score), 420, 1, glovars.scoreFont, glovars.white) else: glovars.message_display(str(team1score), 428, 1, glovars.scoreFont, glovars.white) if team2score > 19: glovars.message_display(str(team2score), 717, 1, glovars.scoreFont, glovars.white) elif team2score > 9: glovars.message_display(str(team2score), 720, 1, glovars.scoreFont, glovars.white) else: glovars.message_display(str(team2score), 728, 1, glovars.scoreFont, glovars.white) pygame.draw.rect(glovars.screen, glovars.black, (0, 0, 1024, 1), 0) pygame.draw.rect(glovars.screen, glovars.black, (0, 49, 1024, 1), 0) pygame.draw.rect(glovars.screen, glovars.black, (1023, 0, 1, 50), 0) pygame.draw.rect(glovars.screen, glovars.black, (1024 - 236, 0, 1, 50), 0) pygame.draw.rect(glovars.screen, glovars.black, (180, 0, 1, 50), 0) shotOrNot = 0 goalBallContact = 0 ballContact = 0 clock.tick(120) pygame.display.flip() while endLoop == 1: glovars.screen.fill(glovars.black) paused = 1 top = pygame.draw.rect(glovars.screen, glovars.white, (0, 0, 1024, 313), 0) bottom = pygame.draw.rect(glovars.screen, yellow, (0, 313, 1024, 313), 0) glovars.message_display(oppTeam.name + " " + str(team1score), 47, 53, EA, glovars.black) glovars.message_display(yourTeam.name + " " + str(team2score), 47, 366, EA, glovars.black) for event in pygame.event.get(): if event.type == pygame.QUIT: endLoop = 0 break if event.type == pygame.KEYDOWN and paused == 1: if event.key == K_i: endLoop = mainMenuGo(0) if endLoop == 0: break clock.tick(120) pygame.display.flip()
def loopImages(data): global menuplay, menuteam, menuleague, leagueOptionsButtons, teamOptionsButtons, left_observe, right_observe, moveButtons #this franchise f = data["franchises"][fnum] #background glovars.screen.blit(pygame.image.load("assets/images/franchiseBG.png"), (0, 0)) #franchise name glovars.message_display( "coach " + str(f["info"][0]["name"]) + " of the " + str(f["info"][0]["userteam"]), 40, 20, glovars.teamSelectFont, glovars.black) #franchise season if int(str(f["info"][0]["season"])) >= 100: glovars.message_display("season " + str(f["info"][0]["season"]), 800, 575, glovars.teamSelectFont, glovars.black) elif int(str(f["info"][0]["season"])) >= 10: glovars.message_display("season " + str(f["info"][0]["season"]), 820, 575, glovars.teamSelectFont, glovars.black) else: glovars.message_display("season " + str(f["info"][0]["season"]), 840, 575, glovars.teamSelectFont, glovars.black) #back button pygame.draw.rect(glovars.screen, glovars.white, (0, 572, 204, 4), 0) pygame.draw.rect(glovars.screen, glovars.white, (200, 576, 4, 50), 0) #phone glovars.screen.blit(pygame.image.load("assets/images/phone.png"), (698, 148)) # NEXT GAME MENU if selected_menu == 0: pygame.draw.rect(glovars.screen, glovars.white, (94, 76, 234, 58), 0) #selected #determine home and away team for next game hometeam = glovars.defaultTeams[determineTeams(f)[1]].name awayteam = glovars.defaultTeams[determineTeams(f)[0]].name #outline franchise images playing pygame.draw.rect(glovars.screen, glovars.white, (94, 152, 202, 400), 0) pygame.draw.rect(glovars.screen, glovars.white, (426, 152, 202, 400), 0) #draw franchise images playing for i in glovars.defaultTeams: if hometeam == i.name: glovars.screen.blit(i.franchiseImage, (430, 156)) elif awayteam == i.name: glovars.screen.blit(i.franchiseImage, (98, 156)) #overall pygame.draw.rect(glovars.screen, glovars.black, (208, 328, 46, 24), 0) pygame.draw.rect(glovars.screen, glovars.black, (540, 328, 46, 24), 0) glovars.message_display("OVR:", 544, 327, glovars.teamFont20, glovars.white) glovars.message_display("OVR:", 212, 327, glovars.teamFont20, glovars.white) glovars.message_display(str(f["teamdata"][0][hometeam][0]["overall"]), 591, 297, glovars.EASmall50, glovars.white) glovars.message_display(str(f["teamdata"][0][awayteam][0]["overall"]), 259, 297, glovars.EASmall50, glovars.white) #play and sim buttons pygame.draw.rect(glovars.screen, glovars.white, (94, 350, 534, 202), 0) pygame.draw.rect(glovars.screen, glovars.black, (98, 354, 261, 194), 0) pygame.draw.rect(glovars.screen, glovars.black, (363, 354, 261, 194), 0) #displays text based on week if f["info"][0]["day"] == 0: glovars.message_display("play", 110, 471, glovars.teamFont30, glovars.white) glovars.message_display("preseason", 110, 506, glovars.teamFont30, glovars.white) glovars.message_display("sim", 375, 471, glovars.teamFont30, glovars.white) glovars.message_display("preseason", 375, 506, glovars.teamFont30, glovars.white) else: glovars.message_display("play game " + str(f["info"][0]["day"]), 110, 506, glovars.teamFont30, glovars.white) glovars.message_display("sim game " + str(f["info"][0]["day"]), 375, 506, glovars.teamFont30, glovars.white) #vs box pygame.draw.rect(glovars.screen, glovars.white, (328, 225, 70, 50), 0) pygame.draw.rect(glovars.screen, glovars.black, (332, 229, 62, 42), 0) glovars.message_display("vs.", 341, 229, glovars.teamSelectFont, glovars.white) #default all teamOptions and team buttons to false teamOptionsButtons = [False] * 6 #create moveButtons moveButtons = [False, False, False] #default no schedule being observed left_observe = False right_observe = False # TEAM MENU if selected_menu == 1: pygame.draw.rect(glovars.screen, glovars.white, (394, 76, 234, 58), 0) #selected # QUAD BOX MENU if teamOptions == "menu": #fill in outline borders for team options pygame.draw.rect(glovars.screen, glovars.white, (94, 152, 534, 400), 0) teamOptionsButtons[2] = pygame.draw.rect(glovars.screen, glovars.black, (98, 354, 261, 194), 0) teamOptionsButtons[3] = pygame.draw.rect(glovars.screen, glovars.black, (363, 354, 261, 194), 0) teamOptionsButtons[0] = pygame.draw.rect(glovars.screen, glovars.black, (98, 156, 261, 194), 0) teamOptionsButtons[1] = pygame.draw.rect(glovars.screen, glovars.black, (363, 156, 261, 194), 0) #team options glovars.message_display("roster", 110, 308, glovars.teamFont30, glovars.white) glovars.message_display("schedule", 375, 308, glovars.teamFont30, glovars.white) glovars.message_display("trade", 110, 506, glovars.teamFont30, glovars.white) glovars.message_display("free agents", 375, 506, glovars.teamFont30, glovars.white) # ROSTER elif teamOptions == "roster": #background pygame.draw.rect(glovars.screen, glovars.white, (94, 152, 534, 400), 0) pygame.draw.rect(glovars.screen, glovars.black, (98, 156, 526, 392), 0) switchColor = [glovars.black, glovars.black, glovars.black] #display roster glovars.message_display( "roster - " + glovars.defaultTeams[playerTeam].name.split(' ', 1)[1], 116, 180, glovars.teamFont30, glovars.googusGreen) #display names and position inside boxes of correct color offPlayer = f["teamdata"][0][ glovars.defaultTeams[playerTeam].name][0]["offense"] defPlayer = f["teamdata"][0][ glovars.defaultTeams[playerTeam].name][0]["defense"] goalPlayer = f["teamdata"][0][ glovars.defaultTeams[playerTeam].name][0]["goalie"] players = [offPlayer, defPlayer, goalPlayer] positions = ["off", "def", "goa"] for i in range(3): if selected_move == i: for j in range(3): if j != i: switchColor[j] = glovars.red moveColor = glovars.googusGreen else: moveColor = glovars.black pygame.draw.rect(glovars.screen, glovars.white, (120, 254 + (100 * i), 354, 58), 0) pygame.draw.rect(glovars.screen, moveColor, (124, 258 + (100 * i), 346, 50), 0) pygame.draw.rect(glovars.screen, glovars.white, (470, 254 + (100 * i), 130, 58), 0) glovars.message_display(positions[i] + ": " + players[i], 130, 264 + (100 * i), glovars.teamFont30, glovars.white) #define the message in roster and print it with the correct color if selected_move != None: moveMessage = "here" else: moveMessage = "move" for i in range(3): moveButtons[i] = pygame.draw.rect( glovars.screen, switchColor[i], (474, 258 + (100 * i), 122, 50), 0) glovars.message_display(moveMessage, 495, 264 + (100 * i), glovars.teamFont30, glovars.white) # SCHEDULE elif teamOptions == "schedule": #set the matchup observed matchup = page_observe #background pygame.draw.rect(glovars.screen, glovars.white, (94, 152, 534, 400), 0) pygame.draw.rect(glovars.screen, glovars.black, (98, 156, 526, 392), 0) #rotate through matchup being observed pygame.draw.rect(glovars.screen, glovars.white, (294, 548, 334, 50), 0) pygame.draw.rect(glovars.screen, glovars.black, (298, 552, 326, 42), 0) pygame.draw.rect(glovars.screen, glovars.white, (516, 548, 112, 50), 0) left_observe = pygame.draw.rect(glovars.screen, glovars.black, (520, 552, 50, 42), 0) right_observe = pygame.draw.rect(glovars.screen, glovars.black, (574, 552, 50, 42), 0) if matchup == 0: weektype = "Preseason" else: weektype = "matchup " + str(matchup) glovars.message_display(weektype, 306, 555, glovars.teamFont30, glovars.white) #display the schedule for the week for i in range(3): #offsets for match on right side xdist = 117 goalfilloffset = 0 goalsoffset = 0 borderoffset = 0 if i == 1: xdist = 379 borderoffset = -54 goalfilloffset = -284 goalsoffset = -22 #determine home and away teams, add outline, and blit to screen awayschedule = f["schedule"][page_observe][i][0] homeschedule = f["schedule"][page_observe][i][1] pygame.draw.rect(glovars.screen, glovars.white, (xdist - 4 + borderoffset, 171 + (125 * i), 288, 112), 0) glovars.screen.blit( glovars.defaultTeams[homeschedule].scorebug, (xdist, 229 + (125 * i))) glovars.screen.blit( glovars.defaultTeams[awayschedule].scorebug, (xdist, 175 + (125 * i))) #determine scores, add fill, and blit to screen pygame.draw.rect(glovars.screen, glovars.black, (xdist + 230 + goalfilloffset, 175 + (125 * i), 50, 50), 0) pygame.draw.rect(glovars.screen, glovars.black, (xdist + 230 + goalfilloffset, 229 + (125 * i), 50, 50), 0) if page_observe < day: texthome = glovars.EASmall50.render( str((f["results"][page_observe][i][0]["Goals"])), True, glovars.white) texthome_rect = texthome.get_rect(center=(372 + goalsoffset, 254 + (125 * i))) textaway = glovars.EASmall50.render( str((f["results"][page_observe][i][1]["Goals"])), True, glovars.white) textaway_rect = textaway.get_rect(center=(372 + goalsoffset, 200 + (125 * i))) glovars.screen.blit(texthome, texthome_rect) glovars.screen.blit(textaway, textaway_rect) elif teamOptions == "trade": pygame.draw.rect(glovars.screen, glovars.white, (94, 152, 534, 400), 0) # FREE AGENTS elif teamOptions == "free agents": pygame.draw.rect(glovars.screen, glovars.white, (94, 152, 534, 400), 0) pygame.draw.rect(glovars.screen, glovars.black, (98, 156, 526, 392), 0) #display moves left glovars.message_display( "free agents - moves left: " + str(f["info"][0]["freeAgentMoves"]), 116, 180, glovars.teamFont30, glovars.googusGreen) #rotate through pages of free agents pygame.draw.rect(glovars.screen, glovars.white, (294, 548, 334, 50), 0) pygame.draw.rect(glovars.screen, glovars.black, (298, 552, 326, 42), 0) pygame.draw.rect(glovars.screen, glovars.white, (516, 548, 112, 50), 0) left_observe = pygame.draw.rect(glovars.screen, glovars.black, (520, 552, 50, 42), 0) right_observe = pygame.draw.rect(glovars.screen, glovars.black, (574, 552, 50, 42), 0) glovars.message_display("page " + str(page_observe), 306, 555, glovars.teamFont30, glovars.white) finalPageMax = int(len(f["freeagents"]) % 3) for i in range(3): pygame.draw.rect(glovars.screen, glovars.white, (120, 254 + (100 * i), 334, 58), 0) pygame.draw.rect(glovars.screen, glovars.black, (124, 258 + (100 * i), 326, 50), 0) pygame.draw.rect(glovars.screen, glovars.white, (450, 254 + (100 * i), 150, 58), 0) #freeAgentButtons[i] = pygame.draw.rect(glovars.screen, glovars.black, (454, 258 + (100 * i), 142, 50), 0) if (page_observe != int(len(f["freeagents"]) / 3)): glovars.message_display( f["freeagents"][(page_observe * 3) + i], 130, 264 + (100 * i), glovars.teamFont30, glovars.white) elif finalPageMax == 2: if i != 2: glovars.message_display( f["freeagents"][(page_observe * 3) + i], 130, 264 + (100 * i), glovars.teamFont30, glovars.white) else: if i == 0: glovars.message_display( f["freeagents"][(page_observe * 3) + i], 130, 264 + (100 * i), glovars.teamFont30, glovars.white) #default all leagueOptions and league buttons to false leagueOptionsButtons = [False] * 6 # LEAGUE MENU if selected_menu == 2: pygame.draw.rect(glovars.screen, glovars.white, (694, 76, 234, 58), 0) #selected if leagueOptions == "menu": #fill in outline borders for league options pygame.draw.rect(glovars.screen, glovars.white, (94, 152, 534, 400), 0) leagueOptionsButtons[2] = pygame.draw.rect(glovars.screen, glovars.black, (98, 354, 261, 194), 0) leagueOptionsButtons[3] = pygame.draw.rect(glovars.screen, glovars.black, (363, 354, 261, 194), 0) leagueOptionsButtons[0] = pygame.draw.rect(glovars.screen, glovars.black, (98, 156, 261, 194), 0) leagueOptionsButtons[1] = pygame.draw.rect(glovars.screen, glovars.black, (363, 156, 261, 194), 0) #league options glovars.message_display("standings", 110, 308, glovars.teamFont30, glovars.white) glovars.message_display("stats", 375, 308, glovars.teamFont30, glovars.white) glovars.message_display("history", 110, 506, glovars.teamFont30, glovars.white) glovars.message_display("prestige", 375, 506, glovars.teamFont30, glovars.white) # STANDINGS elif leagueOptions == "standings": pygame.draw.rect(glovars.screen, glovars.white, (94, 152, 534, 400), 0) pygame.draw.rect(glovars.screen, glovars.black, (98, 156, 526, 392), 0) glovars.message_display("standings", 116, 180, glovars.teamFont30, glovars.googusGreen) glovars.message_display("w", 375, 180, glovars.teamFont30, glovars.googusGreen) glovars.message_display("l", 446, 180, glovars.teamFont30, glovars.googusGreen) glovars.message_display("ol", 503, 180, glovars.teamFont30, glovars.googusGreen) glovars.message_display("p", 575, 180, glovars.teamFont30, glovars.googusGreen) #order teams by points order = logic.calculateRankings(f) for i in range(len(order)): glovars.message_display(order[i]["mascot"], 116, 240 + (i * 50), glovars.teamFont30, glovars.white) glovars.message_display(str(order[i]["points"]), 575, 240 + (i * 50), glovars.teamFont30, glovars.white) glovars.message_display( str(f["teamdata"][0][order[i]["name"]][0]["wins"]), 375, 240 + (i * 50), glovars.teamFont30, glovars.white) glovars.message_display( str(f["teamdata"][0][order[i]["name"]][0]["losses"]), 446, 240 + (i * 50), glovars.teamFont30, glovars.white) glovars.message_display( str(f["teamdata"][0][order[i]["name"]][0] ["overtimelosses"]), 512, 240 + (i * 50), glovars.teamFont30, glovars.white) # STATS elif leagueOptions == "stats": pygame.draw.rect(glovars.screen, glovars.white, (94, 152, 534, 400), 0) leagueOptionsButtons[4] = pygame.draw.rect(glovars.screen, glovars.black, (98, 156, 526, 194), 0) leagueOptionsButtons[5] = pygame.draw.rect(glovars.screen, glovars.black, (98, 354, 526, 194), 0) glovars.message_display("player stats", 110, 308, glovars.teamFont30, glovars.white) glovars.message_display("team stats", 110, 506, glovars.teamFont30, glovars.white) # TEAM STATS elif leagueOptions == "team stats": #fill background pygame.draw.rect(glovars.screen, glovars.white, (94, 152, 534, 400), 0) pygame.draw.rect(glovars.screen, glovars.black, (98, 156, 526, 392), 0) #display stats glovars.message_display("team stats", 116, 180, glovars.teamFont30, glovars.googusGreen) glovars.message_display("gs", 375, 180, glovars.teamFont30, glovars.googusGreen) glovars.message_display("ga", 442, 180, glovars.teamFont30, glovars.googusGreen) glovars.message_display("e", 517, 180, glovars.teamFont30, glovars.googusGreen) glovars.message_display("e", 575, 180, glovars.teamFont30, glovars.googusGreen) for i in range(6): glovars.message_display( glovars.defaultTeams[i].name.split(' ', 1)[1], 116, 240 + (i * 50), glovars.teamFont30, glovars.white) glovars.message_display("a", 575, 240 + (i * 50), glovars.teamFont30, glovars.white) glovars.message_display( str(f["teamdata"][0][glovars.defaultTeams[i].name][0] ["scoredgoals"]), 380, 240 + (i * 50), glovars.teamFont30, glovars.white) glovars.message_display( str(f["teamdata"][0][glovars.defaultTeams[i].name][0] ["allowedgoals"]), 446, 240 + (i * 50), glovars.teamFont30, glovars.white) glovars.message_display("s", 513, 240 + (i * 50), glovars.teamFont30, glovars.white) # PLAYER STATS elif leagueOptions == "player stats": #fill background pygame.draw.rect(glovars.screen, glovars.white, (94, 152, 534, 400), 0) pygame.draw.rect(glovars.screen, glovars.black, (98, 156, 526, 392), 0) #rotate through teams pygame.draw.rect(glovars.screen, glovars.white, (294, 548, 334, 50), 0) pygame.draw.rect(glovars.screen, glovars.black, (298, 552, 326, 42), 0) pygame.draw.rect(glovars.screen, glovars.white, (516, 548, 112, 50), 0) left_observe = pygame.draw.rect(glovars.screen, glovars.black, (520, 552, 50, 42), 0) right_observe = pygame.draw.rect(glovars.screen, glovars.black, (574, 552, 50, 42), 0) statTeam = glovars.defaultTeams[page_observe].name statTeam = statTeam.split(' ', 1)[0] glovars.message_display(statTeam, 306, 555, glovars.teamFont30, glovars.white) #display stats glovars.message_display("player stats", 116, 180, glovars.teamFont30, glovars.googusGreen) glovars.message_display("gs", 375, 180, glovars.teamFont30, glovars.googusGreen) glovars.message_display("ga", 442, 180, glovars.teamFont30, glovars.googusGreen) glovars.message_display("sog", 503, 180, glovars.teamFont30, glovars.googusGreen) glovars.message_display("a", 583, 180, glovars.teamFont30, glovars.googusGreen) offPlayer = f["teamdata"][0][ glovars.defaultTeams[page_observe].name][0]["offense"] defPlayer = f["teamdata"][0][ glovars.defaultTeams[page_observe].name][0]["defense"] goalPlayer = f["teamdata"][0][ glovars.defaultTeams[page_observe].name][0]["goalie"] players = [offPlayer, defPlayer, goalPlayer] for i in range(3): glovars.message_display(players[i], 116, 265 + (100 * i), glovars.teamFont30, glovars.white) for j in range(len(f["playerdata"])): if players[i] == f["playerdata"][j]["name"]: glovars.message_display( str(f["playerdata"][j]["goalsScored"]), 383, 265 + (100 * i), glovars.teamFont30, glovars.white) glovars.message_display( f["playerdata"][j]["goalsAllowed"], 450, 265 + (100 * i), glovars.teamFont30, glovars.white) # HISTORY elif leagueOptions == "history": pygame.draw.rect(glovars.screen, glovars.white, (94, 152, 534, 400), 0) # PRESTIGE elif leagueOptions == "prestige": pygame.draw.rect(glovars.screen, glovars.white, (94, 152, 534, 400), 0) #fill menu options menuplay = pygame.draw.rect(glovars.screen, tintmenus[0], (98, 80, 226, 50), 0) menuteam = pygame.draw.rect(glovars.screen, tintmenus[1], (398, 80, 226, 50), 0) menuleague = pygame.draw.rect(glovars.screen, tintmenus[2], (698, 80, 226, 50), 0) #text on menu options glovars.message_display("next game", 132, 88, glovars.EASmall30, glovars.white) glovars.message_display("team", 473, 88, glovars.EASmall30, glovars.white) glovars.message_display("league", 763, 88, glovars.EASmall30, glovars.white)
def initImages(): global backButtonClickCheck #background glovars.screen.blit(pygame.image.load("assets/images/storyModeBG.png"), (0, 0)) #back button pygame.draw.rect(glovars.screen, glovars.white, (0, 572, 204, 4), 0) pygame.draw.rect(glovars.screen, glovars.white, (200, 576, 4, 50), 0) backButtonClickCheck = glovars.screen.blit( pygame.image.load("assets/images/backButton.png"), (0, 576)) #franchise select glovars.message_display("story select", 748, 19, glovars.teamSelectFont, glovars.black) #franchises to select background fill s1 = pygame.draw.rect(glovars.screen, glovars.black, (100, 80, 824, 50), 0) s2 = pygame.draw.rect(glovars.screen, glovars.black, (100, 180, 824, 50), 0) s3 = pygame.draw.rect(glovars.screen, glovars.black, (100, 280, 824, 50), 0) s4 = pygame.draw.rect(glovars.screen, glovars.black, (100, 380, 824, 50), 0) s5 = pygame.draw.rect(glovars.screen, glovars.black, (100, 480, 824, 50), 0) pygame.draw.rect(glovars.screen, glovars.white, (698, 80, 226, 50), 0) pygame.draw.rect(glovars.screen, glovars.white, (698, 180, 226, 50), 0) pygame.draw.rect(glovars.screen, glovars.white, (698, 280, 226, 50), 0) pygame.draw.rect(glovars.screen, glovars.white, (698, 380, 226, 50), 0) pygame.draw.rect(glovars.screen, glovars.white, (698, 480, 226, 50), 0) #franchise info glovars.message_display("new story", 110, 88, glovars.EASmall30, glovars.white) glovars.message_display("new story", 110, 188, glovars.EASmall30, glovars.white) glovars.message_display("new story", 110, 288, glovars.EASmall30, glovars.white) glovars.message_display("new story", 110, 388, glovars.EASmall30, glovars.white) glovars.message_display("new story", 110, 488, glovars.EASmall30, glovars.white)