feat(endscreen): implement simple endscreen with differentiation between won/lose
This commit is contained in:
+47
-1
@@ -47,4 +47,50 @@ class Endscreen:
|
||||
)
|
||||
|
||||
def run(self):
|
||||
pass
|
||||
# get events
|
||||
events = pygame.event.get()
|
||||
|
||||
for event in events:
|
||||
if event.type == pygame.QUIT:
|
||||
return "quit"
|
||||
|
||||
if event.type == pygame.KEYDOWN:
|
||||
if event.key == pygame.K_RETURN:
|
||||
return "game"
|
||||
|
||||
if event.key == pygame.K_ESCAPE:
|
||||
return "startscreen"
|
||||
|
||||
# draw background
|
||||
self.screen.fill(self.background_color)
|
||||
|
||||
# create texts depending on win/lose
|
||||
if self.won:
|
||||
title_text = "EXAM PASSED!"
|
||||
title_color = self.win_color
|
||||
message_lines = [
|
||||
"Congratulations, student.",
|
||||
"You survived the night shift at FH Kapfenberg.",
|
||||
"Your ECTS have ben successfully submitted."
|
||||
]
|
||||
else:
|
||||
title_text = "EXMATRICULATED!"
|
||||
title_color = self.lose_color
|
||||
message_lines = [
|
||||
"The lecturers found you.",
|
||||
"Your assignment was not submitted in time.",
|
||||
"Please retake the semester."
|
||||
]
|
||||
|
||||
# draw title/texts
|
||||
title = self.font_title.render(title_text, True, title_color)
|
||||
title_rect = title.get_rect(center=(480, 90))
|
||||
self.screen.blit(title, title_rect)
|
||||
|
||||
y = 160
|
||||
for line in message_lines:
|
||||
message = self.font_small.render(line, True, self.text_color)
|
||||
message_rect = message.get_rect(center=(480, y))
|
||||
self.screen.blit(message, message_rect)
|
||||
y += 32
|
||||
|
||||
|
||||
Reference in New Issue
Block a user