예제 #1
0
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)
예제 #2
0
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))
예제 #3
0
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)
예제 #4
0
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)
예제 #5
0
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
예제 #6
0
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)
예제 #7
0
파일: gameplay.py 프로젝트: Clover30/GKHA20
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()
예제 #8
0
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)
예제 #9
0
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)