## @file highscore.py # @author Vaibhav Chadha # @brief implements the highscore interface # @date 11/09/2018 import pygame, sys, Interface ## @brief A Class that will contain useful functions in order for the creation of highscore page class HighScore(): ## @brief A method to display text # @details This function will print the text on the interface # @param text The text to be printed # @param fontStyle The font Style of the text to be displayed # @param fontSize The size of the text written # @param color The color of the text # @param coord The coordinate at which the text should start displaying # @param surface The background (surface) the text should be printed on def text(text,fontStyle,fontSize,color,coord,surface): font = pygame.font.SysFont(fontStyle,fontSize) text = font.render(text,True,color) surface.blit(text,coord) ## @brief A method to create a button # @details This method will make a box on the interface # @param surface The background (surface) the box should be made on # @param color The color of the button to be made # @param Rect The coordinate of the button with the length and width # @param width The width of the sides of button def button(Surface, color,Rect,width): pygame.draw.rect(Surface, color,Rect,width) ## @brief Finds the highest score from the file # @details This writes the input from the file in an array and find the max number from it def findHighscore(): infile = open("highscore.txt","r") mylist = [] for line in infile: a = line.strip() mylist.append(a) return max(mylist) ## @brief Makes the highscore interface # @details This will output the final interface using the class above # which can be seen by executing this function. def main(): pygame.init() red = [255,0,0] while True: mousepos = pygame.mouse.get_pos() #checking mouse position mouseclick = pygame.mouse.get_pressed()#checking mouse pressed highscore = pygame.display.set_mode((300, 150)) #highscore.fill([213, 219, 219]) pygame.display.set_caption("Highscore") HighScore.text('Highest Score: ' + str(HighScore.findHighscore()),"comicsansms", 30,[0, 0, 200],(10,20),highscore) HighScore.button(highscore,[0,0,0], [90,70,120,26], 0) HighScore.text('Main Menu',"times", 25,red,(90,70),highscore) if (90 <= mousepos[0] <= 90+120 and 70 <= mousepos[1] <= 70+27 ): if mouseclick[0] == 1: Interface.main() HighScore.button(highscore,[0,0,0], [125,105,45,27], 0) HighScore.text('Quit',"times", 25,red,(125,105),highscore) if (125 <= mousepos[0] <= 125+45 and 105 <= mousepos[1] <= 105+27 ): if mouseclick[0] == 1: pygame.quit() sys.exit() pygame.display.update()