/
game_credits.py
70 lines (56 loc) · 2.11 KB
/
game_credits.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import pygame
from pygame.locals import *
def end_credits(screen):
"""
Титры и рестарт игры
:param screen:
:return:
"""
screen_r = screen.get_rect()
font = pygame.font.Font('data/fonts/MidnightMinutes.otf', 36)
clock = pygame.time.Clock()
pygame.display.set_caption("Credits")
smallfont = pygame.font.SysFont(None, 60)
is_intro = True
while is_intro:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
is_intro = False
elif event.key == pygame.K_SPACE:
return
screen.fill((255, 255, 255))
text = smallfont.render("Press ESC to finish game", True, (0, 0, 0))
text2 = smallfont.render("Press SPACE to restart", True, (0, 0, 0))
screen.blit(text, [140, 240])
screen.blit(text2, [140, 310])
pygame.display.update()
credit_list = [" ", " ", "DODGING ROCKS", " ", " ",
"DEVELOPMENT", "FOMIN NIKITA", "ROMANOV SEMEN", " ",
"IDEA", "ROMANOV SEMEN", "FOMIN NIKITA", " ",
"TESTING", "FOMIN NIKITA", "ROMANOV SEMEN", " ",
"SPECIAL THANKS", " ", "ROMANOV SEMEN", "FOMIN NIKITA", " ",
]
texts = []
for i, line in enumerate(credit_list):
s = font.render(line, 1, (10, 10, 10))
r = s.get_rect(centerx=screen_r.centerx, y=screen_r.bottom + i * 45)
texts.append((r, s))
while True:
for e in pygame.event.get():
if e.type == QUIT:
pygame.quit()
exit()
elif e.type == KEYDOWN and (e.key == pygame.K_ESCAPE or e.key == pygame.K_SPACE):
return
screen.fill((255, 255, 255))
for r, s in texts:
r.move_ip(0, -1)
screen.blit(s, r)
if not screen_r.collidelistall([r for (r, _) in texts]):
break
pygame.display.flip()
clock.tick(60)