From 723dbe5856aa6b245cd974e6d35144d1cc3ca762 Mon Sep 17 00:00:00 2001 From: Chadha Vaibhav <chadhav@mcmaster.ca> Date: Fri, 9 Nov 2018 22:51:09 -0500 Subject: [PATCH] Update highscore.py --- BlankProjectTemplate/src/highscore.py | 160 +++++++++++++------------- 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/BlankProjectTemplate/src/highscore.py b/BlankProjectTemplate/src/highscore.py index 5645818..3864f04 100644 --- a/BlankProjectTemplate/src/highscore.py +++ b/BlankProjectTemplate/src/highscore.py @@ -1,80 +1,80 @@ -## @file highscore.py -# @author Vaibhav Chadha -# @brief implements the highscore interface -# @date 10/11/2018 -import pygame, sys - -## @brief A Class that will contain useful functions in order for the creation of highscore page -class HighScore(): - - - ## @brief A function for running other files - # @details Executes another python file when this is selected, Given that the file is in same folder. - # @param runfilename The name of the file to be executed - def runfile(runfilename): - with open(runfilename,"r") as rnf: - exec(rnf.read()) - - ## @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: - HighScore.runfile('Interface.py') - #Snake_Game.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() - -#main() +## @file highscore.py +# @author Vaibhav Chadha +# @brief implements the highscore interface +# @date 11/09/2018 +import pygame, sys + +## @brief A Class that will contain useful functions in order for the creation of highscore page +class HighScore(): + + + ## @brief A function for running other files + # @details Executes another python file when this is selected, Given that the file is in same folder. + # @param runfilename The name of the file to be executed + def runfile(runfilename): + with open(runfilename,"r") as rnf: + exec(rnf.read()) + + ## @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: + HighScore.runfile('Interface.py') + #Snake_Game.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() + +#main() -- GitLab