class Help_Menu(): def __init__(self, window, game_menu): self._window = window self._game_menu = game_menu self._font = settings.defaultFont self._name = "" self._titletext = sf.Text("Help", self._font, 50) self._titletext_left = sf.Text("Help", self._font, 50) self._titletext_up = sf.Text("Help", self._font, 50) self._titletext_right = sf.Text("Help", self._font, 50) self._titletext_down = sf.Text("Help", self._font, 50) self._titletext.position = ( (self._window.size[0] - self._titletext.local_bounds.size[0]) / 2, 20) self._titletext_left.position = ( (self._window.size[0] - self._titletext.local_bounds.size[0]) / 2 - 1.5, 20) self._titletext_up.position = ( (self._window.size[0] - self._titletext.local_bounds.size[0]) / 2, 20 - 1.5) self._titletext_right.position = ( (self._window.size[0] - self._titletext.local_bounds.size[0]) / 2 + 1.5, 20) self._titletext_down.position = ( (self._window.size[0] - self._titletext.local_bounds.size[0]) / 2, 20 + 1.5) self._titletext_left.color = sf.Color.BLACK self._titletext_up.color = sf.Color.BLACK self._titletext_right.color = sf.Color.BLACK self._titletext_down.color = sf.Color.BLACK self._helptext = sf.Text( "The goal of this game is to light-off as many bulbs with your\nbacon as possible. The brighter/whiter the light is," + "the more\npoints you will get for lighting it off...\n" + "Occasionally some bread slices will appear on top of lighted\n" + "windows. Lighting off windows with these slices will give you\n" + "some extra points.\n" + "Additionally at the top corner you will find a points-counter\n" + "and a bar representing your remaining energy. Lighting off\n" + "windows will replenish some of your energy and those with a\n" + "bread slice will replenish even a bit more.\n" + "But beware! Every window is consuming some of your energy\n" + "and so the more windows are lighted, the faster your energy\n" + "will be consumed. The further you are into the game, the\n" + "faster new windows will be lighted.\n" "Once your energy reaches 0 it\'s \"Game Over\" for you.", self._font, 25) self._helptext_left = sf.Text( "The goal of this game is to light-off as many bulbs with your\nbacon as possible. The brighter/whiter the light is," + "the more\npoints you will get for lighting it off...\n" + "Occasionally some bread slices will appear on top of lighted\n" + "windows. Lighting off windows with these slices will give you\n" + "some extra points.\n" + "Additionally at the top corner you will find a points-counter\n" + "and a bar representing your remaining energy. Lighting off\n" + "windows will replenish some of your energy and those with a\n" + "bread slice will replenish even a bit more.\n" + "But beware! Every window is consuming some of your energy\n" + "and so the more windows are lighted, the faster your energy\n" + "will be consumed. The further you are into the game, the\n" + "faster new windows will be lighted.\n" "Once your energy reaches 0 it\'s \"Game Over\" for you.", self._font, 25) self._helptext_up = sf.Text( "The goal of this game is to light-off as many bulbs with your\nbacon as possible. The brighter/whiter the light is," + "the more\npoints you will get for lighting it off...\n" + "Occasionally some bread slices will appear on top of lighted\n" + "windows. Lighting off windows with these slices will give you\n" + "some extra points.\n" + "Additionally at the top corner you will find a points-counter\n" + "and a bar representing your remaining energy. Lighting off\n" + "windows will replenish some of your energy and those with a\n" + "bread slice will replenish even a bit more.\n" + "But beware! Every window is consuming some of your energy\n" + "and so the more windows are lighted, the faster your energy\n" + "will be consumed. The further you are into the game, the\n" + "faster new windows will be lighted.\n" "Once your energy reaches 0 it\'s \"Game Over\" for you.", self._font, 25) self._helptext_right = sf.Text( "The goal of this game is to light-off as many bulbs with your\nbacon as possible. The brighter/whiter the light is," + "the more\npoints you will get for lighting it off...\n" + "Occasionally some bread slices will appear on top of lighted\n" + "windows. Lighting off windows with these slices will give you\n" + "some extra points.\n" + "Additionally at the top corner you will find a points-counter\n" + "and a bar representing your remaining energy. Lighting off\n" + "windows will replenish some of your energy and those with a\n" + "bread slice will replenish even a bit more.\n" + "But beware! Every window is consuming some of your energy\n" + "and so the more windows are lighted, the faster your energy\n" + "will be consumed. The further you are into the game, the\n" + "faster new windows will be lighted.\n" "Once your energy reaches 0 it\'s \"Game Over\" for you.", self._font, 25) self._helptext_down = sf.Text( "The goal of this game is to light-off as many bulbs with your\nbacon as possible. The brighter/whiter the light is," + "the more\npoints you will get for lighting it off...\n" + "Occasionally some bread slices will appear on top of lighted\n" + "windows. Lighting off windows with these slices will give you\n" + "some extra points.\n" + "Additionally at the top corner you will find a points-counter\n" + "and a bar representing your remaining energy. Lighting off\n" + "windows will replenish some of your energy and those with a\n" + "bread slice will replenish even a bit more.\n" + "But beware! Every window is consuming some of your energy\n" + "and so the more windows are lighted, the faster your energy\n" + "will be consumed. The further you are into the game, the\n" + "faster new windows will be lighted.\n" "Once your energy reaches 0 it\'s \"Game Over\" for you.", self._font, 25) self._helptext.position = ( (self._window.size[0] - self._helptext.local_bounds.size[0]) / 2, 100) self._helptext_left.position = ( (self._window.size[0] - self._helptext.local_bounds.size[0]) / 2 - 1.5, 100) self._helptext_up.position = ( (self._window.size[0] - self._helptext.local_bounds.size[0]) / 2, 100 - 1.5) self._helptext_right.position = ( (self._window.size[0] - self._helptext.local_bounds.size[0]) / 2 + 1.5, 100) self._helptext_down.position = ( (self._window.size[0] - self._helptext.local_bounds.size[0]) / 2, 100 + 1.5) self._helptext_left.color = sf.Color.BLACK self._helptext_up.color = sf.Color.BLACK self._helptext_right.color = sf.Color.BLACK self._helptext_down.color = sf.Color.BLACK #backbutton self._backbutton = Button( sf.Vector2(20, (self._window.size[1] - 50)), #position sf.Vector2(150, 20), #size sf.Color.GREEN, #background color sf.Color.BLACK, #text color sf.Color.RED, #outline color 2, #outline thickness "Back", #lable self._font, #font 17) #text size def loop(self, background): background.draw(self._window) self._window.draw(self._titletext_left) self._window.draw(self._titletext_right) self._window.draw(self._titletext_up) self._window.draw(self._titletext_down) self._window.draw(self._titletext) self._window.draw(self._helptext_left) self._window.draw(self._helptext_up) self._window.draw(self._helptext_right) self._window.draw(self._helptext_down) self._window.draw(self._helptext) self._window.draw(self._backbutton) def listen_for_event(self, event): self.esc_listener(event) self.mouse_listener(event) def esc_listener(self, event): if type( event ) is sf.KeyEvent and event.pressed and event.code is sf.Keyboard.ESCAPE: self._game_menu.show_splash() def mouse_listener(self, event): if type( event ) is sf.MouseButtonEvent and event.pressed and sf.Mouse.is_button_pressed( sf.Mouse.LEFT): mouse_pos = sf.Mouse.get_position(self._window) if self._backbutton.contains(mouse_pos): self._backbutton.bgcolor(sf.Color.RED) if type( event ) is sf.MouseButtonEvent and event.released and event.button == sf.Mouse.LEFT: mouse_pos = sf.Mouse.get_position(self._window) #startbutton if self._backbutton.contains(mouse_pos): self._game_menu.show_splash() if type(event) is sf.MouseButtonEvent and event.released: self._backbutton.bgcolor(sf.Color.GREEN)
class Gameover_menu(): def __init__(self, window, game_menu): self._window = window self._game_menu = game_menu self._font = settings.defaultFont self._highscore = Highscore() self._name = "" self._titletext = sf.Text("Game Over", self._font, 50) self._titletext_left = sf.Text("Game Over", self._font, 50) self._titletext_up = sf.Text("Game Over", self._font, 50) self._titletext_right = sf.Text("Game Over", self._font, 50) self._titletext_down = sf.Text("Game Over", self._font, 50) self._titletext_left.color = sf.Color.BLACK self._titletext_up.color = sf.Color.BLACK self._titletext_right.color = sf.Color.BLACK self._titletext_down.color = sf.Color.BLACK self._titletext.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,50) self._titletext_left.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2-1.5,50) self._titletext_up.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,50-1.5) self._titletext_right.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2+1.5,50) self._titletext_down.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,50+1.5) self._scoretext = sf.Text("Points "+str(self._game_menu._points), self._font, 50) self._enternametext = sf.Text("Enter Name!", self._font, 50) self._enternametext_left = sf.Text("Enter Name!", self._font, 50) self._enternametext_up = sf.Text("Enter Name!", self._font, 50) self._enternametext_right = sf.Text("Enter Name!", self._font, 50) self._enternametext_down = sf.Text("Enter Name!", self._font, 50) self._enternametext.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,250) self._enternametext_left.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2-1.5,250) self._enternametext_up.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,250-1.5) self._enternametext_right.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2+1.5,250) self._enternametext_down.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,250+1.5) self._enternametext_left.color = sf.Color.BLACK self._enternametext_up.color = sf.Color.BLACK self._enternametext_right.color = sf.Color.BLACK self._enternametext_down.color = sf.Color.BLACK self._nametext = sf.Text(self._name, self._font, 50) self._nametext_left = sf.Text(self._name, self._font, 50) self._nametext_up = sf.Text(self._name, self._font, 50) self._nametext_right = sf.Text(self._name, self._font, 50) self._nametext_down = sf.Text(self._name, self._font, 50) self._nametext.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,350) self._nametext_left.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2-1.5,350) self._nametext_up.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,350-1.5) self._nametext_right.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2+1.5,350) self._nametext_down.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,350+1.5) self._nametext_left.color = sf.Color.BLACK self._nametext_up.color = sf.Color.BLACK self._nametext_right.color = sf.Color.BLACK self._nametext_down.color = sf.Color.BLACK #backbutton self._okbutton = Button(sf.Vector2((self._window.size[0]-150)/2,(self._window.size[1]-50)), #position sf.Vector2(150,20), #size sf.Color.GREEN, #background color sf.Color.BLACK, #text color sf.Color.RED, #outline color 2, #outline thickness "OK", #lable self._font, #font 17) #text size def loop(self, background): self._scoretext.string = "Points " + str(self._game_menu._points) self._scoretext_left = sf.Text("Points "+str(self._game_menu._points), self._font, 50) self._scoretext_up = sf.Text("Points "+str(self._game_menu._points), self._font, 50) self._scoretext_right = sf.Text("Points "+str(self._game_menu._points), self._font, 50) self._scoretext_down = sf.Text("Points "+str(self._game_menu._points), self._font, 50) self._scoretext.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,150) self._scoretext_left.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2-1.5,150) self._scoretext_up.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,150-1.5) self._scoretext_right.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2+1.5,150) self._scoretext_down.position = ((self._window.size[0]-self._titletext.local_bounds.size[0])/2,150+1.5) self._scoretext_left.color = sf.Color.BLACK self._scoretext_up.color = sf.Color.BLACK self._scoretext_right.color = sf.Color.BLACK self._scoretext_down.color = sf.Color.BLACK background.draw(self._window) self._window.draw(self._titletext_left) self._window.draw(self._titletext_up) self._window.draw(self._titletext_right) self._window.draw(self._titletext_down) self._window.draw(self._titletext) self._window.draw(self._enternametext_left) self._window.draw(self._enternametext_up) self._window.draw(self._enternametext_right) self._window.draw(self._enternametext_down) self._window.draw(self._enternametext) self._window.draw(self._scoretext_left) self._window.draw(self._scoretext_up) self._window.draw(self._scoretext_right) self._window.draw(self._scoretext_down) self._window.draw(self._scoretext) self._window.draw(self._nametext_left) self._window.draw(self._nametext_up) self._window.draw(self._nametext_right) self._window.draw(self._nametext_down) self._window.draw(self._nametext) self._window.draw(self._okbutton) def listen_for_event(self, event): self.mouse_listener(event) self.text_listener(event) self.key_listener(event) def key_listener(self, event): if type(event) is sf.KeyEvent and event.pressed and event.code is sf.Keyboard.RETURN: self._highscore.addScore(self._name,self._game_menu._points) self._name = "" self._nametext.string = "" self._game_menu._highscore.scorelist() self._game_menu.show_highscore() try: if type(event) is sf.KeyEvent and event.pressed and event.code is sf.Keyboard.BACK_SPACE: if not (len(self._name)==0): self._name = self._name[:-1] self._nametext.string = self._name self._nametext_left.string = self._name self._nametext_up.string = self._name self._nametext_right.string = self._name self._nametext_down.string = self._name except AttributeError: if type(event) is sf.KeyEvent and event.pressed and event.code is sf.Keyboard.BACK: if not (len(self._name)==0): self._name = self._name[:-1] self._nametext.string = self._name self._nametext_left.string = self._name self._nametext_up.string = self._name self._nametext_right.string = self._name self._nametext_down.string = self._name def mouse_listener(self, event): if type(event) is sf.MouseButtonEvent and event.pressed and sf.Mouse.is_button_pressed(sf.Mouse.LEFT): mouse_pos = sf.Mouse.get_position(self._window) if self._okbutton.contains(mouse_pos): self._okbutton.bgcolor(sf.Color.RED) if type(event) is sf.MouseButtonEvent and event.released and event.button == sf.Mouse.LEFT: mouse_pos = sf.Mouse.get_position(self._window) #startbutton if self._okbutton.contains(mouse_pos): self._highscore.addScore(self._name,self._game_menu._points) self._name = "" self._nametext.string = "" self._game_menu._highscore.scorelist() self._game_menu.show_highscore() if type(event) is sf.MouseButtonEvent and event.released: self._okbutton.bgcolor(sf.Color.GREEN) def text_listener(self, event): if type(event) is sf.TextEvent: if(48 <= event.unicode <= 57 or 65 <= event.unicode <= 90 or 97 <= event.unicode <= 122): self._name += chr(event.unicode) self._nametext.string = self._name self._nametext_left.string = self._name self._nametext_up.string = self._name self._nametext_right.string = self._name self._nametext_down.string = self._name
class Highscore_menu(): def __init__(self, window, game_menu): self._window = window self._game_menu = game_menu self._font = settings.defaultFont self._score = Highscore().getScore() #backbutton self._backbutton = Button(sf.Vector2(20,(self._window.size[1]-50)), #position sf.Vector2(150,20), #size sf.Color.GREEN, #background color sf.Color.BLACK, #text color sf.Color.RED, #outline color 2, #outline thickness "Back", #lable self._font, #font 17) #text size def scorelist(self): self._highcontainer = DrawableContainer() self._score = Highscore().getScore() self._highcontainer.position = ((self._window.size[0]-200)/2,0) self._titletext = sf.Text("Highscore", self._font, 50) self._titletext_left = sf.Text("Highscore", self._font, 50) self._titletext_left.position = (0-1.5,0) self._titletext_left.color = sf.Color.BLACK self._titletext_up = sf.Text("Highscore", self._font, 50) self._titletext_up.position = (0,0-1.5) self._titletext_up.color = sf.Color.BLACK self._titletext_right = sf.Text("Highscore", self._font, 50) self._titletext_right.position = (0+1.5,0) self._titletext_right.color = sf.Color.BLACK self._titletext_down = sf.Text("Highscore", self._font, 50) self._titletext_down.position = (0,0+1.5) self._titletext_down.color = sf.Color.BLACK self._highcontainer.add_element(self._titletext_left) self._highcontainer.add_element(self._titletext_up) self._highcontainer.add_element(self._titletext_right) self._highcontainer.add_element(self._titletext_down) self._highcontainer.add_element(self._titletext) for x in range(10): name = self._score[x]['name'] score = self._score[x]['score'] linename = sf.Text(name, self._font, 40) linename_left = sf.Text(name, self._font, 40) linename_left.color = sf.Color.BLACK linename_up = sf.Text(name, self._font, 40) linename_up.color = sf.Color.BLACK linename_right = sf.Text(name, self._font, 40) linename_right.color = sf.Color.BLACK linename_down = sf.Text(name, self._font, 40) linename_down.color = sf.Color.BLACK linescore = sf.Text(str(score), self._font, 40) linescore_left = sf.Text(str(score), self._font, 40) linescore_left.color = sf.Color.BLACK linescore_up = sf.Text(str(score), self._font, 40) linescore_up.color = sf.Color.BLACK linescore_right = sf.Text(str(score), self._font, 40) linescore_right.color = sf.Color.BLACK linescore_down = sf.Text(str(score), self._font, 40) linescore_down.color = sf.Color.BLACK self._highcontainer.add_element(linename_left,sf.Vector2(-200-1.5,(50*x)+50)) self._highcontainer.add_element(linename_up,sf.Vector2(-200,(50*x)+50-1.5)) self._highcontainer.add_element(linename_right,sf.Vector2(-200+1.5,(50*x)+50)) self._highcontainer.add_element(linename_down,sf.Vector2(-200,(50*x)+50+1.5)) self._highcontainer.add_element(linename,sf.Vector2(-200,(50*x)+50)) self._highcontainer.add_element(linescore_left,sf.Vector2(250-1.5,(50*x+50))) self._highcontainer.add_element(linescore_up,sf.Vector2(250,(50*x+50-1.5))) self._highcontainer.add_element(linescore_right,sf.Vector2(250+1.5,(50*x+50))) self._highcontainer.add_element(linescore_down,sf.Vector2(250,(50*x+50+1.5))) self._highcontainer.add_element(linescore,sf.Vector2(250,(50*x+50))) def loop(self, background): # self._haus.position = (self._hausplace,200) # self._hausplace += 1 # self._hausplace = self._hausplace % 800 background.draw(self._window) # self._window.draw(self._haus) self._window.draw(self._highcontainer) self._window.draw(self._backbutton) #for b in self._menubuttons: # self._window.draw(b) def listen_for_event(self, event): self.esc_listener(event) self.mouse_listener(event) def esc_listener(self, event): if type(event) is sf.KeyEvent and event.pressed and event.code is sf.Keyboard.ESCAPE: self._game_menu.show_splash() def mouse_listener(self, event): if type(event) is sf.MouseButtonEvent and event.pressed and sf.Mouse.is_button_pressed(sf.Mouse.LEFT): mouse_pos = sf.Mouse.get_position(self._window) if self._backbutton.contains(mouse_pos): self._backbutton.bgcolor(sf.Color.RED) if type(event) is sf.MouseButtonEvent and event.released and event.button == sf.Mouse.LEFT: mouse_pos = sf.Mouse.get_position(self._window) #startbutton if self._backbutton.contains(mouse_pos): self._game_menu.show_splash() if type(event) is sf.MouseButtonEvent and event.released: self._backbutton.bgcolor(sf.Color.GREEN)
class Highscore_menu(): def __init__(self, window, game_menu): self._window = window self._game_menu = game_menu self._font = settings.defaultFont self._score = Highscore().getScore() #backbutton self._backbutton = Button( sf.Vector2(20, (self._window.size[1] - 50)), #position sf.Vector2(150, 20), #size sf.Color.GREEN, #background color sf.Color.BLACK, #text color sf.Color.RED, #outline color 2, #outline thickness "Back", #lable self._font, #font 17) #text size def scorelist(self): self._highcontainer = DrawableContainer() self._score = Highscore().getScore() self._highcontainer.position = ((self._window.size[0] - 200) / 2, 0) self._titletext = sf.Text("Highscore", self._font, 50) self._titletext_left = sf.Text("Highscore", self._font, 50) self._titletext_left.position = (0 - 1.5, 0) self._titletext_left.color = sf.Color.BLACK self._titletext_up = sf.Text("Highscore", self._font, 50) self._titletext_up.position = (0, 0 - 1.5) self._titletext_up.color = sf.Color.BLACK self._titletext_right = sf.Text("Highscore", self._font, 50) self._titletext_right.position = (0 + 1.5, 0) self._titletext_right.color = sf.Color.BLACK self._titletext_down = sf.Text("Highscore", self._font, 50) self._titletext_down.position = (0, 0 + 1.5) self._titletext_down.color = sf.Color.BLACK self._highcontainer.add_element(self._titletext_left) self._highcontainer.add_element(self._titletext_up) self._highcontainer.add_element(self._titletext_right) self._highcontainer.add_element(self._titletext_down) self._highcontainer.add_element(self._titletext) for x in range(10): name = self._score[x]['name'] score = self._score[x]['score'] linename = sf.Text(name, self._font, 40) linename_left = sf.Text(name, self._font, 40) linename_left.color = sf.Color.BLACK linename_up = sf.Text(name, self._font, 40) linename_up.color = sf.Color.BLACK linename_right = sf.Text(name, self._font, 40) linename_right.color = sf.Color.BLACK linename_down = sf.Text(name, self._font, 40) linename_down.color = sf.Color.BLACK linescore = sf.Text(str(score), self._font, 40) linescore_left = sf.Text(str(score), self._font, 40) linescore_left.color = sf.Color.BLACK linescore_up = sf.Text(str(score), self._font, 40) linescore_up.color = sf.Color.BLACK linescore_right = sf.Text(str(score), self._font, 40) linescore_right.color = sf.Color.BLACK linescore_down = sf.Text(str(score), self._font, 40) linescore_down.color = sf.Color.BLACK self._highcontainer.add_element( linename_left, sf.Vector2(-200 - 1.5, (50 * x) + 50)) self._highcontainer.add_element( linename_up, sf.Vector2(-200, (50 * x) + 50 - 1.5)) self._highcontainer.add_element( linename_right, sf.Vector2(-200 + 1.5, (50 * x) + 50)) self._highcontainer.add_element( linename_down, sf.Vector2(-200, (50 * x) + 50 + 1.5)) self._highcontainer.add_element(linename, sf.Vector2(-200, (50 * x) + 50)) self._highcontainer.add_element( linescore_left, sf.Vector2(250 - 1.5, (50 * x + 50))) self._highcontainer.add_element( linescore_up, sf.Vector2(250, (50 * x + 50 - 1.5))) self._highcontainer.add_element( linescore_right, sf.Vector2(250 + 1.5, (50 * x + 50))) self._highcontainer.add_element( linescore_down, sf.Vector2(250, (50 * x + 50 + 1.5))) self._highcontainer.add_element(linescore, sf.Vector2(250, (50 * x + 50))) def loop(self, background): # self._haus.position = (self._hausplace,200) # self._hausplace += 1 # self._hausplace = self._hausplace % 800 background.draw(self._window) # self._window.draw(self._haus) self._window.draw(self._highcontainer) self._window.draw(self._backbutton) #for b in self._menubuttons: # self._window.draw(b) def listen_for_event(self, event): self.esc_listener(event) self.mouse_listener(event) def esc_listener(self, event): if type( event ) is sf.KeyEvent and event.pressed and event.code is sf.Keyboard.ESCAPE: self._game_menu.show_splash() def mouse_listener(self, event): if type( event ) is sf.MouseButtonEvent and event.pressed and sf.Mouse.is_button_pressed( sf.Mouse.LEFT): mouse_pos = sf.Mouse.get_position(self._window) if self._backbutton.contains(mouse_pos): self._backbutton.bgcolor(sf.Color.RED) if type( event ) is sf.MouseButtonEvent and event.released and event.button == sf.Mouse.LEFT: mouse_pos = sf.Mouse.get_position(self._window) #startbutton if self._backbutton.contains(mouse_pos): self._game_menu.show_splash() if type(event) is sf.MouseButtonEvent and event.released: self._backbutton.bgcolor(sf.Color.GREEN)