def ScoreScreen():
    #globals
    global userStart
    global scorehealth
    global scoreenemystart
    global scorebonus
    global PlayerName
    userStart = 0
    #screen setup
    pygame.display.set_caption("Halo - Chris Bonner")
    background = pygame.Surface(screen.get_size())
    background.fill((0, 0, 0))
    screen.blit(background, (0, 0))
    #sound
    sndMenu.play(-1)
    sndLaser.set_volume(0.7)
    sndRifle.set_volume(0.3)
    #picture for sprite class
    pygame.mouse.set_visible(True)
    
    try:
        startscreen = os.path.join('Sprites','startscreen.png')
        graphicname = os.path.join('Sprites','Graphic.bmp')
        mousepic = os.path.join('Sprites','mouse.bmp')
    except:
        sys.exit("could not load image files in 'Sprites' folder :-(")
        
    #sprite class
    startscreen = startscreenclass.startscreen(screen, startscreen)
    Halo = startscreenclass.HaloGraphic(screen,graphicname)
    Mouse = startscreenclass.tempMouse(screen,mousepic)
    
    #score
    score = "%s" %(scorehealth + scoreenemystart + scorebonus)
    #saving score
    HighScoreOld = []
    HighScoreOld = Save.Scores()
    HighScoreNew = []
    NameScore = []
    NameScore = Save.Names()
    a = 0
    try:
        if PlayerName == None:
            PlayerName = "Player"
    except:
        PlayerName = "Player"
        
    for (i, item) in enumerate(HighScoreOld):
        if int(item) < int(score):
            HighScoreNew.append(item)
        elif int(item) >= int(score) and a == 0:
            HighScoreNew.append(score)
            NameScore.remove(NameScore[i])
            NameScore.insert(i, PlayerName)
            a = 1
        else:
            HighScoreNew.append(item)
    Save.WriteScores(HighScoreNew)
    Save.WriteNames(NameScore)
    HighScoreNew.reverse()
    NameScore.reverse()
    #label Score
    lblScore = miniGUI.Label()
    lblScore.font =  pygame.font.SysFont(None, 50)
    lblScore.text = "Your Score %s" % score
    lblScore.center = (400,200)
    lblScore.size = (350,40)
    lblScore.bgColor = ((0x00, 0x00, 0x00))
    lblScore.fgColor = ((0xFF, 0xFF, 0xFF))

    lblHighScores = miniGUI.Label()
    lblHighScores.font =  pygame.font.SysFont(None, 50)
    lblHighScores.text = "High Scores"
    lblHighScores.center = (100,50)
    lblHighScores.size = (200,40)
    lblHighScores.bgColor = ((0x00, 0x00, 0x00))
    lblHighScores.fgColor = ((0xFF, 0xFF, 0xFF))

    lblScore1 = miniGUI.Label()
    lblScore1.font =  pygame.font.SysFont(None, 30)
    lblScore1.text = "%s" % NameScore[0] + " " +  "%s" %  HighScoreNew[0]
    lblScore1.center = (100,100)
    lblScore1.size = (150,25)
    lblScore1.bgColor = ((0x00, 0x00, 0x00))
    lblScore1.fgColor = ((0xFF, 0xFF, 0xFF))

    lblScore2 = miniGUI.Label()
    lblScore2.font =  pygame.font.SysFont(None, 30)
    lblScore2.text = "%s" % NameScore[1] + " " +  "%s" %  HighScoreNew[1]
    lblScore2.center = (100,150)
    lblScore2.size = (150,25)
    lblScore2.bgColor = ((0x00, 0x00, 0x00))
    lblScore2.fgColor = ((0xFF, 0xFF, 0xFF))

    lblScore3 = miniGUI.Label()
    lblScore3.font =  pygame.font.SysFont(None, 30)
    lblScore3.text = "%s" % NameScore[2] + " " +  "%s" %  HighScoreNew[2]
    lblScore3.center = (100,200)
    lblScore3.size = (150,25)
    lblScore3.bgColor = ((0x00, 0x00, 0x00))
    lblScore3.fgColor = ((0xFF, 0xFF, 0xFF))

    lblScore4 = miniGUI.Label()
    lblScore4.font =  pygame.font.SysFont(None, 30)
    lblScore4.text = "%s" % NameScore[3] + " " +  "%s" %  HighScoreNew[3]
    lblScore4.center = (100,250)
    lblScore4.size = (150,25)
    lblScore4.bgColor = ((0x00, 0x00, 0x00))
    lblScore4.fgColor = ((0xFF, 0xFF, 0xFF))

    lblScore5 = miniGUI.Label()
    lblScore5.font =  pygame.font.SysFont(None, 30)
    lblScore5.text = "%s" % NameScore[4] + " " +  "%s" %  HighScoreNew[4]
    lblScore5.center = (100,300)
    lblScore5.size = (150,25)
    lblScore5.bgColor = ((0x00, 0x00, 0x00))
    lblScore5.fgColor = ((0xFF, 0xFF, 0xFF))

    lblScore6 = miniGUI.Label()
    lblScore6.font =  pygame.font.SysFont(None, 30)
    lblScore6.text = "%s" % NameScore[5] + " " +  "%s" %  HighScoreNew[5]
    lblScore6.center = (100,350)
    lblScore6.size = (150,25)
    lblScore6.bgColor = ((0x00, 0x00, 0x00))
    lblScore6.fgColor = ((0xFF, 0xFF, 0xFF))

    lblScore7 = miniGUI.Label()
    lblScore7.font =  pygame.font.SysFont(None, 30)
    lblScore7.text = "%s" % NameScore[6] + " " +  "%s" %  HighScoreNew[6]
    lblScore7.center = (100,400)
    lblScore7.size = (150,25)
    lblScore7.bgColor = ((0x00, 0x00, 0x00))
    lblScore7.fgColor = ((0xFF, 0xFF, 0xFF))
    
    lblScore8 = miniGUI.Label()
    lblScore8.font =  pygame.font.SysFont(None, 30)
    lblScore8.text = "%s" % NameScore[7] + " " +  "%s" %  HighScoreNew[7]
    lblScore8.center = (100,450)
    lblScore8.size = (150,25)
    lblScore8.bgColor = ((0x00, 0x00, 0x00))
    lblScore8.fgColor = ((0xFF, 0xFF, 0xFF))

    lblScore9 = miniGUI.Label()
    lblScore9.font =  pygame.font.SysFont(None, 30)
    lblScore9.text = "%s" % NameScore[8] + " " +  "%s" %  HighScoreNew[8]
    lblScore9.center = (100,500)
    lblScore9.size = (150,25)
    lblScore9.bgColor = ((0x00, 0x00, 0x00))
    lblScore9.fgColor = ((0xFF, 0xFF, 0xFF))
    
    lblScore10 = miniGUI.Label()
    lblScore10.font =  pygame.font.SysFont(None, 30)
    lblScore10.text = "%s" % NameScore[9] + " " +  "%s" %  HighScoreNew[9]
    lblScore10.center = (100,550)
    lblScore10.size = (150,25)
    lblScore10.bgColor = ((0x00, 0x00, 0x00))
    lblScore10.fgColor = ((0xFF, 0xFF, 0xFF))
    
    #button retry
    btnRetry = miniGUI.Button()
    btnRetry.text = "Retry?"
    btnRetry.center = (400,300)
    btnRetry.size = (75,21)
    btnRetry.bgColor = (0x00,0x00,0x00)
    btnRetry.fgColor = (0xFF, 0xFF, 0xFF)

    #button Menu 
    btnMenu = miniGUI.Button()
    btnMenu.text = "Main Menu"
    btnMenu.center = (400, 350)
    btnMenu.size = (120,21)
    btnMenu.bgColor = (0x00,0x00,0x00)
    btnMenu.fgColor = (0xFF,0xff,0xff)
    
    #button Exit
    btnExit = miniGUI.Button()
    btnExit.text = "Exit"
    btnExit.center = (400,400)
    btnExit.size = (50,21)
    btnExit.bgColor = (0x00,0x00,0x00)
    btnExit.fgColor = (0xff,0xff,0xff)
    
    #sprite ordered update
    allsprites = pygame.sprite.OrderedUpdates(startscreen,Halo,lblScore,lblHighScores,
    lblScore1,lblScore2,lblScore3,lblScore4,lblScore5,lblScore6,lblScore7,
    lblScore8,lblScore9,lblScore10,btnRetry,btnMenu,btnExit,Mouse)
    #set clock and game loop
    clock = pygame.time.Clock()
    keepGoing = True
    while keepGoing:
        #clock ticks
        clock.tick(60)
        #mouse visibily off
        pygame.mouse.set_visible(False)
        #exit event or game start
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.display.quit()
                pygame.quit()
                sys.exit()
            elif event.type == pygame.KEYDOWN:
                if event.key == pygame.K_ESCAPE:
                    Keepgoing = False
                    pygame.display.quit()
                    pygame.quit()
                    sys.exit()
            if btnRetry.active == True:
                sndMenu.stop()
                main()
            elif btnMenu.active == True:
                StartScreen()
            elif btnExit.active == True:
                Keepgoing = False
                pygame.display.quit()
                pygame.quit()
                sys.exit()
                
        #clear, updates and flip
        allsprites.clear(screen,background)
        allsprites.update()
        screen.blit(background, (0, 0))
        allsprites.draw(screen)
        pygame.display.flip()