рдирдорд╕реНрддреЗ
рджреБрдирд┐рдпрд╛ ,% рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо%ред рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ Habr├й рдкрд░ рдЕрдЬрдЧрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдкреЛрд╕реНрдЯ рд╣реИрдВред рд╣рд╛рдВ, рднрд╛рд╖рд╛ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд░рд╣реА рд╣реИред рд╣реБрд░реНрд░реЗ рд╕рд╛рдерд┐рдпреЛрдВ! рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕ рднрд╛рд╖рд╛ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЬрд▓реНрдж рд╣реА, рдореИрдВ рд╢рдмреНрдж рдХреА рджреБрдирд┐рдпрд╛ рд╕реЗ рдердХ рдЧрдпрд╛ рдФрд░ рдореИрдВ рдЕрдкрдиреА рдЬрд╝рд░реВрд░рдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреБрдЫ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдЧреАрддрд╛рддреНрдордХ рдЕрд╕реНрд╡реАрдХреГрддрд┐: рдореИрдВрдиреЗ рдЬреАрдд рд╕реЗ рдЙрдмрдВрдЯреВ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ (рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдкреЙрдк рд╕рдВрдЧреАрдд, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рд▓рд┐рдП, рди рддреЛ рдкреЙрдиреНрдЯрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдФрд░ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХреЛрдИ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдСрдбрд┐рдпреЛ рдкреНрд▓реЗрдпрд░ рдирд╣реАрдВ рд╣реИ, рд╕рднреА рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдиреЗ рдкреЗрд╢рдХрд╢ рдХреА рдпрд╛ рддреЛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдпрд╛ рдмрд╣реБрдд рднрд╛рд░реА рдереЗред рдереЛрдбрд╝рд╛ рдмрд╣реБрдд рдЖрд▓рд╕реА рдореИрдВ рд╡реНрдпрд╛рдкрд╛рд░ рдореЗрдВ рдЙрддрд░ рдЧрдпрд╛ред
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдзреНрд╡рдирд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП pyqt рдФрд░ рдПрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдпрд╛ pygame рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдореИрдВрдиреЗ рджреВрд╕рд░рд╛ рдЪреБрдирд╛, рдореБрдЭреЗ рдмрд╣реБрдд рдкрдЫрддрд╛рд╡рд╛ рд╣реБрдЖред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рд╣реЛ рдЧрдИ рд╣реИред рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдкреВрд░рд╛ рдХреЛрдб рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛
рд╣реИрд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреЛрдб рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рднрдпрд╛рдирдХ рдЖрджрдд рдХреЗ рдХрд╛рд░рдг, рдореИрдВ рдпрд╣рд╛рдВ pygame рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдореБрдЦреНрдп рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░реВрдВрдЧрд╛ред
рдЕрд╡рдзрд╛рд░рдгрд╛ рдЗрд╕ рддрдереНрдп рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдПрдХ рдореБрдЦреНрдп рдЪрдХреНрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддреА рд╣реИ рдФрд░ рддрд╕реНрд╡реАрд░ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рдмрджрд▓ рджреА рдЬрд╛рддреА рд╣реИред рд╕реНрдХреНрд░реАрди рдкрд░ рдЪрд┐рддреНрд░ред
рджреМрдбрд╝рддреЗ рд╕рдордп:
...
pygame.display.init()
pygame.font.init()
pygame.mixer.init(frequency=44100, size=-16, channels=2, buffer=4096)
рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдкреНрд░рд╛рд░рдВрднред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк рдЗрд╕ рд╕рдм рдХреЛ pygame.init () рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдзрд┐рдХ рдареЛрд╕ рджрд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдЖрдВрддрд░рд┐рдХ рд╡реНрдпрд╛рдореЛрд╣ рдЧрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдХрдо рдЪрд┐рдВрддрд┐рдд рд╣реЛрдЧрд╛ред рд╕рд╛рде рд╣реА рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
рдЖрд╡реГрддреНрддрд┐ = 44100 - рдзреНрд╡рдирд┐ рдирдореВрдирд╛ рдЖрд╡реГрддреНрддрд┐, рдбрд┐рдлрд╝реЙрд▓реНрдЯ 22050 (рдзреНрд╡рдирд┐ рднрдпрд╛рдирдХ рд╣реИ)
рдЖрдХрд╛рд░ = -16 - рдПрдХ рднрдпрд╛рдирдХ рдЬрд╛рджреВ рдЬрд╛рджреВ, рдореИрдВ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ рдЕрдЧрд░ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдХреНрдпрд╛ рд╣реИред
рдЪреИрдирд▓ = 2 - рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреИрдирд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
рдмрдлрд░ = 4096 - рдмрдлрд░ рдЖрдХрд╛рд░
pygame.mixer.music.set_volume (self.logic.volume)
рдкреНрд▓реЗрдмреИрдХ рд╡реЙрд▓реНрдпреВрдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рдкреВрд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ, рди рдХрд┐ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдлрд╛рдЗрд▓реЛрдВ рдХреЛред
self.screen = pygame.display.set_mode((600,230))
рдпрд╣ рд╡рд┐рдзрд┐ рдореБрдЦреНрдп рд╡рд┐рдВрдбреЛ рдФрд░ рдореБрдЦреНрдп рд╕рддрд╣ рдмрдирд╛рддреА рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ - рднрд╡рд┐рд╖реНрдп рдХреА рдЦрд┐рдбрд╝рдХреА рдХрд╛ рд╕рдВрдХрд▓реНрдкред
pygame.display.set_caption(u"Ktulhu fhtang")
рдореБрдЦреНрдп рд╡рд┐рдВрдбреЛ рдХрд╛ рд╢реАрд░реНрд╖рдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред
self.ui = pygame.font.Font("Arial.ttf",32)
рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдПрдХ рдирдпрд╛ рдлрд╝реЙрдиреНрдЯ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИред рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ sysFont zapark рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИред
рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдФрд░ рдлрд╝реЙрдиреНрдЯ рдЖрдХрд╛рд░ рд▓реЗрддрд╛ рд╣реИред
self.ui.render(u"Play",True,(0,0,0))
рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкрд╣рд▓реЗ рддрд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдкрд╛рда рдЦреАрдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреВрд╕рд░рд╛ рддрд░реНрдХ рд╣реИ рдЯреЗрдХреНрд╕реНрдЯ рд╕реНрдореВрдерд┐рдВрдЧред рддреАрд╕рд░рд╛ рддрд░реНрдХ рдкреНрд░рд╛рд░реВрдк (рдЖрд░, рдЬреА, рдмреА) рдореЗрдВ рд░рдВрдЧ рдореВрд▓реНрдп рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдмрд╛рдд рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдЬрд╛рджреБрдИ рдЕрдХреНрд╖рд░ u "" рдбрд╛рд▓рддреЗ рд╣реИрдВ рддреЛ pygame рдпреВрдирд┐рдХреЛрдб рдЦреАрдВрдЪ рд╕рдХрддрд╛ рд╣реИред
self.screen.fill((255,255,255))
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░рдВрдЧ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реАрди рдХреЛ рдкреЗрдВрдЯ рдХрд░рддрд╛ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рди рдХреЗрд╡рд▓ рд╕реНрдХреНрд░реАрди, рдмрд▓реНрдХрд┐ рдХрд┐рд╕реА рднреА рд╕рддрд╣, рдЖрджрд┐рдо рд╕рд╣рд┐рддред
self.screen.blit(self.play,(0,0))
рдПрдХ рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмреНрд▓рд┐рдЯ рд╡рд┐рдзрд┐, рдпрд╣ 2 рддрд░реНрдХ рд▓реЗрддреА рд╣реИред 1 - рдХреЛрдИ рднреА рд╕рд░рдлреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ, 2 - рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдПрдХ рдкрд░рдд рдЦреАрдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рд╡рд┐рдзрд┐ рдХреНрдпрд╛ рдХрд░рддреА рд╣реИ? рдпрд╣ рд╕реНрд╡реАрдХреГрдд рд╕рддрд╣ рдХреЛ рдЙрд╕ рд╕рддрд╣ рдкрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЗрд╕реЗ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, self.play рдореБрдЦреНрдп рд╕рддрд╣ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред
event = pygame.event.poll()
рд╣рдо рдЪрдХреНрд░ рдХреЗ рдПрдХ рд░рди рдореЗрдВ рдПрдХрддреНрд░рд┐рдд рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдПрдХ рдЪрд░ рдореЗрдВ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВред
pygame.display.flip()
рд╕реНрдХреНрд░реАрди рдкрд░ рдЫрд╡рд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ред рдЗрд╕рдХреЗ рдмрд┐рдирд╛, рдЖрдкрдХреЛ рдХрд╛рд▓реА рд╕реНрдХреНрд░реАрди рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдЧрд╛
pygame.time.wait(25)
рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдЕрдЬрдЧрд░ рдмрд╣реБрдд рддреЗрдЬрд╝ рднрд╛рд╖рд╛ рдирд╣реАрдВ рд╣реИ, рдЙрдЪреНрдЪ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдПрдлрдкреАрдПрд╕ рднреА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВ рдПрдХ рдЪрдХреНрд░ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЗрд╕реЗ 25 рдорд┐рд▓реА рд╕реЗрдХреЗрдВрдб рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВред рдПрдлрдкреАрдПрд╕ рдиреЗ рдорд╛рдк рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб рдирд╣реАрдВ рд╣реИ, рдФрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЧрддрд┐ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдореБрдЭреЗ pygame рдЪреБрдирдиреЗ рдкрд░ рдкрдЫрддрд╛рд╡рд╛ рдХреНрдпреЛрдВ рд╣реБрдЖ? рдкреВрд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рд╕рдВрд╕реНрдХрд░рдг 3 рдХреЗ рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдПрдордкреА 3 рдлрд╝рд╛рдЗрд▓реЗрдВ рдЦреЗрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ (рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реИрдВ) pygame рд╣реИрдВрдЧ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдмреЗрд╣рдж рдЕрдкреНрд░рд┐рдп рд╣реИред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдмрдЧ рдХрдм рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
rghost.ru/38700690 - рдпрд╣рд╛рдВ рдКрдкрд░ рджрд┐рдП рдЧрдП рд▓реЗрдЦ рдореЗрдВ
рдлреНрд░реЗрдВрдХрд╕реНрдЯреАрди рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рд╕рдмрд╕реЗ рддрд╛рд░реНрдХрд┐рдХ рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЬрд╛рдиреЗ рдХрд╛ рдирд╛рдЯрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдХреГрдкрдпрд╛ рдХрд┐рдХ рди рдХрд░реЗрдВ