π Π‘Π°ΠΌΠΎΡΡΠΈΡΠ΅Π»Ρ ΠΏΠΎ Python Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ . Π§Π°ΡΡΡ 21: ΠΡΠ½ΠΎΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ³Ρ Π½Π° Pygame
Π£ΡΠΈΠΌΡΡ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°ΡΡ Π³ΡΠ°ΡΠΈΠΊΡ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ, Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°ΠΌΠΈ. Π ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ ΡΠ΄Π΅Π»Π°Π΅ΠΌ 10 ΠΌΠΈΠ½ΠΈ-ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠΎΠ² ΠΈ Π»Π°ΠΉΡ-Π²Π΅ΡΡΠΈΠΉ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΈΠ³Ρ.
Python β ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠ·ΡΠΊ, ΠΈ ΠΏΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΎΠ½ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΈΠ³Ρ Ρ Π³ΠΈΠΏΠ΅ΡΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Python-ΠΊΠΎΠ΄Π°, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ Π½Π° ΠΠΈΡΠΎΠ½Π΅ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡΠΈΠ»ΠΈΡΠ½ΡΠ΅ ΠΈΠ³ΡΡ. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ β Π² Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΡΡΡ Π·Π°Π΄Π°ΡΡ Π±Π΅ΡΡΡ Π½Π° ΡΠ΅Π±Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ³Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Python Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ, Π²ΠΎΡ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅:
- Pygame
- PyKyra
- Pyglet
- Panda3D
- Kivy
- PyopenGL
ΠΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅, Pygame β ΠΎΠ½Π° ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΈ ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ³Ρ. ΠΠ° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ Pygame Π΅ΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈΠ³Ρ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΠ³Ρ Π½Π° Pygame ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π΄Π΅ΡΡ.
Pygame Π½Π΅ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΠΎΡΡΠ°Π²ΠΊΡ Python, Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
pip install pygame
ΠΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Pygame Π½Π΅ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Π·Π΄Π΅ΡΡ ΠΌΡ Π·Π°ΡΡΠΎΠ½Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ β ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΏΠΎΠΊΠ°Π΄ΡΠΎΠ²ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ°, ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ.
ΠΠΊΠ½ΠΎ ΠΈ Π³Π»Π°Π²Π½ΡΠΉ ΡΠΈΠΊΠ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅ Pygame Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠΊΠ½Π°, ΠΈ ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ β Π·Π°Π΄Π°ΡΡ ΡΠ²Π΅Ρ (ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅) ΡΠΎΠ½Π°:
import pygame # ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Pygame pygame.init() # ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π° window_size = (300, 300) # Π·Π°Π΄Π°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° pygame.display.set_caption("Π‘ΠΈΠ½ΠΈΠΉ ΡΠΎΠ½") # ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ screen = pygame.display.set_mode(window_size) # Π·Π°Π΄Π°Π΅ΠΌ ΡΠ²Π΅Ρ ΡΠΎΠ½Π° background_color = (0, 0, 255) # ΡΠΈΠ½ΠΈΠΉ # Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠΎΠ½ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ screen.fill(background_color) # ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ ΡΠΊΡΠ°Π½ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ pygame.display.flip() # ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ Π½Π°ΠΆΠΌΠ΅Ρ ΠΊΠ½ΠΎΠΏΠΊΡ "ΠΠ°ΠΊΡΡΡΡ" while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() exit()
Π¦ΠΈΠΊΠ» while True
ΠΈΠ³ΡΠ°Π΅Ρ ΡΠΎΠ»Ρ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ β Π² Π½Π΅ΠΌ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΠΉ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π€ΡΠ½ΠΊΡΠΈΡ pygame.quit() Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ pygame.init(). ΠΠ»Ρ
Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Python-ΠΏΡΠΎΡΠ΅ΡΡΠ°
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ exit(), Ρ
ΡΠΎΠΉ ΠΆΠ΅ ΡΠ΅Π»ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ sys.exit(), Π½ΠΎ Π΅Π΅ Π½ΡΠΆΠ½ΠΎ
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ: import sys
.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΠ½Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
import pygame pygame.init() window_size = (400, 400) screen = pygame.display.set_mode(window_size) pygame.display.set_caption("Peter the Piglet") # Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ background_image = pygame.image.load("background.png") # ΠΏΠΎΠ΄Π³ΠΎΠ½ΡΠ΅ΠΌ ΠΌΠ°ΡΡΡΠ°Π± ΠΏΠΎΠ΄ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π° background_image = pygame.transform.scale(background_image, window_size) # Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ screen.blit(background_image, (0, 0)) pygame.display.flip() while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() exit()
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΎΠ±ΡΡΠΈΠΉ (Π½Π°ΠΆΠ°ΡΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΡ ΠΈ ΠΊΠ»ΠΈΠΊΠΎΠ²) Π² Pygame ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ β Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ. ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ²Π΅Ρ ΡΠΎΠ½Π° ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΠΈΠΊΠ° ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² Pygame ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΠ²Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ:
import pygame pygame.init() pygame.display.set_caption('ΠΠ·ΠΌΠ΅Π½ΠΈ ΡΠ²Π΅Ρ ΡΠΎΠ½Π°') window_surface = pygame.display.set_mode((300, 300)) background = pygame.Surface((300, 300)) background.fill(pygame.Color('#000000')) color_list = [ pygame.Color('#FF0000'), # ΠΊΡΠ°ΡΠ½ΡΠΉ pygame.Color('#00FF00'), # Π·Π΅Π»Π΅Π½ΡΠΉ pygame.Color('#0000FF'), # ΡΠΈΠ½ΠΈΠΉ pygame.Color('#FFFF00'), # ΠΆΠ΅Π»ΡΡΠΉ pygame.Color('#00FFFF'), # Π±ΠΈΡΡΠ·ΠΎΠ²ΡΠΉ pygame.Color('#FF00FF'), # ΠΏΡΡΠΏΡΡΠ½ΡΠΉ pygame.Color('#FFFFFF') # Π±Π΅Π»ΡΠΉ ] current_color_index = 0 button_font = pygame.font.SysFont('Verdana', 15) # ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠΈΡΡ Verdana button_text_color = pygame.Color("black") button_color = pygame.Color("gray") button_rect = pygame.Rect(100, 115, 100, 50) button_text = button_font.render('ΠΠ°ΠΆΠΌΠΈ!', True, button_text_color) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() exit() elif event.type == pygame.MOUSEBUTTONDOWN and event.button == 1: if button_rect.collidepoint(event.pos): current_color_index = (current_color_index + 1) % len(color_list) background.fill(color_list[current_color_index]) window_surface.blit(background, (0, 0)) pygame.draw.rect(window_surface, button_color, button_rect) button_rect_center = button_text.get_rect(center=button_rect.center) window_surface.blit(button_text, button_rect_center) pygame.display.update()
ΠΠ°ΠΊ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ» Pygame ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ:
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ (Π½Π°ΠΆΠ°ΡΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΡ ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ).
- ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
- ΠΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅.
GUI Π΄Π»Ρ PyGame
Pygame ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΈ Π±ΡΡΡΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π½ΡΠΆΠ½ΡΠ΅ Π²Π΅ΡΠΈ β ΡΡΠΈΡΡΡ, Π·Π²ΡΠΊ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΎΠ±ΡΡΠΈΠΉ, β ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ, Π»Π΅ΠΉΠ±Π»ΠΎΠ², ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ² Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅ΡΠ°ΡΡ Π»ΠΈΠ±ΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ (Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, Π½Π°Π·Π½Π°ΡΠΈΡΡ Π΅ΠΌΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ), Π»ΠΈΠ±ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ GUI-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. Π’Π°ΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΠΊ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ:
ΠΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Pygame GUI β Π·Π΅Π»Π΅Π½ΡΠ΅ Π½ΡΠ»ΠΈ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΏΠ°Π΄Π°ΡΡ Π²Π½ΠΈΠ· Π² ΡΡΠΈΠ»Π΅ Β«ΠΠ°ΡΡΠΈΡΡΒ»:
import pygame import pygame_gui import random window_size = (800, 600) window = pygame.display.set_mode(window_size) pygame.display.set_caption('ΠΠ°ΡΡΠΈΡΠ° Lite') pygame.init() gui_manager = pygame_gui.UIManager(window_size) font = pygame.font.SysFont('Consolas', 20) text_color = pygame.Color('green') text_symbols = ['0', '1'] text_pos = [(random.randint(0, window_size[0]), 0) for i in range(50)] text_speed = [(0, random.randint(1, 5)) for i in range(50)] text_surface_list = [] button_size = (100, 50) button_pos = (350, 250) button_text = 'ΠΠ°ΡΡΠΈΡΠ°!' button = pygame_gui.elements.UIButton( relative_rect=pygame.Rect(button_pos, button_size), text=button_text, manager=gui_manager ) while True: time_delta = pygame.time.Clock().tick(60) for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() quit() if event.type == pygame_gui.UI_BUTTON_PRESSED: text_surface_list = [] for i in range(50): text_symbol = random.choice(text_symbols) text_surface = font.render(text_symbol, True, text_color) text_surface_list.append(text_surface) gui_manager.process_events(event) gui_manager.update(time_delta) window.fill(pygame.Color('black')) for i in range(50): text_pos[i] = (text_pos[i][0], text_pos[i][1] + text_speed[i][1]) if text_pos[i][1] > window_size[1]: text_pos[i] = (random.randint(0, window_size[0]), -20) if len(text_surface_list) > i: window.blit(text_surface_list[i], text_pos[i]) gui_manager.draw_ui(window) pygame.display.update()
Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π Pygame Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΠ³ΡΡ β ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ², ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΡΠ»Π»ΠΈΠΏΡΠΎΠ², Π»ΠΈΠ½ΠΈΠΉ, ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ². ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
import pygame import math pygame.init() screen_width = 640 screen_height = 480 screen = pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_caption("ΠΠ΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΈΠ³ΡΡΡ") black = (0, 0, 0) white = (255, 255, 255) red = (255, 0, 0) green = (0, 255, 0) blue = (0, 0, 255) yellow = (255, 255, 0) pink = (255, 192, 203) # ΡΠΈΡΡΠ΅ΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ rect_x = 50 rect_y = 50 rect_width = 100 rect_height = 50 pygame.draw.rect(screen, red, (rect_x, rect_y, rect_width, rect_height)) # ΡΠΈΡΡΠ΅ΠΌ ΠΊΡΡΠ³ circle_x = 200 circle_y = 75 circle_radius = 30 pygame.draw.circle(screen, green, (circle_x, circle_y), circle_radius) # ΡΠΈΡΡΠ΅ΠΌ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ triangle_x = 350 triangle_y = 50 triangle_width = 100 triangle_height = 100 triangle_points = [(triangle_x, triangle_y), (triangle_x + triangle_width, triangle_y), (triangle_x + triangle_width / 2, triangle_y + triangle_height)] pygame.draw.polygon(screen, blue, triangle_points) # ΡΠΈΡΡΠ΅ΠΌ ΠΏΡΡΠΈΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ pent_x = 500 pent_y = 100 radius = 40 sides = 5 pent_points = [] for i in range(sides): angle_deg = 360 * i / sides angle_rad = math.radians(angle_deg) x = pent_x + radius * math.sin(angle_rad) y = pent_y - radius * math.cos(angle_rad) pent_points.append((x, y)) pygame.draw.polygon(screen, white, pent_points) # ΡΠΈΡΡΠ΅ΠΌ ΡΠ»Π»ΠΈΠΏΡ ellipse_x = 100 ellipse_y = 275 ellipse_width = 150 ellipse_height = 60 pygame.draw.ellipse(screen, red, (ellipse_x, ellipse_y, ellipse_width, ellipse_height)) # Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ Π»ΠΈΠ½ΠΈΡ horiz_line_y = 400 pygame.draw.line(screen, blue, (50, horiz_line_y), (590, horiz_line_y), 5) # Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ Π»ΠΈΠ½ΠΈΡ vert_line_x = 320 pygame.draw.line(screen, green, (vert_line_x, 50), (vert_line_x, 430), 5) # ΡΠΈΡΡΠ΅ΠΌ ΠΆΠ΅Π»ΡΡΡ Π·Π²Π΅Π·Π΄Ρ yellow_star_points = [(260 - 50, 250 - 70), (310 - 50, 250 - 70), (325 - 50, 200 - 70), (340 - 50, 250 - 70), (390 - 50, 250 - 70), (350 - 50, 290 - 70), (365 - 50, 340 - 70), (325 - 50, 305 - 70), (285 - 50, 340 - 70), (300 - 50, 290 - 70)] pygame.draw.polygon(screen, yellow, yellow_star_points) # ΡΠΈΡΡΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΎΠΌ Π²Π½ΡΡΡΠΈ circle2_x = 490 circle2_y = 350 circle2_radius = 80 pygame.draw.circle(screen, white, (circle2_x, circle2_y), circle2_radius) square_side = 60 square_x = circle2_x - square_side / 2 square_y = circle2_y - square_side / 2 pygame.draw.rect(screen, pink, (square_x, square_y, square_side, square_side)) pygame.display.update() while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() quit()
ΠΠ½ΠΈΠΌΠ°ΡΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ
ΠΡΡΠ΅, Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΠΏΠ°Π΄Π°ΡΡΠΈΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ Π² Β«ΠΠ°ΡΡΠΈΡΠ΅Β», ΡΠΆΠ΅ Π±ΡΠ»
ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΉ ΠΈΠΌΠΈΡΠ°ΡΠΈΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π²
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΠΊΡΠ°Π½Π° Ρ
ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ ΠΊΠ°Π΄ΡΠ° pygame.time.Clock().tick(60)
.
Π£ΡΠ»ΠΎΠΆΠ½ΠΈΠΌ Π·Π°Π΄Π°ΡΡ β ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΏΡΠΎΡΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Ρ ΠΏΠ°Π΄Π°ΡΡΠΈΠΌΠΈ ΡΠΎΠ·ΠΎΠ²ΡΠΌΠΈ Β«Π·Π²Π΅Π·Π΄Π°ΠΌΠΈΒ».
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π΄Π²ΡΡ
ΡΠΎΠ±ΡΡΠΈΠΉ:
- ΠΡΠΈ ΠΊΠ»ΠΈΠΊΠ΅ ΠΌΡΡΡΡ ΠΏΠΎ ΡΠΊΡΠ°Π½Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ.
- ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ Enter β Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΏΠ°Π²ΡΠΈΡ Π·Π²Π΅Π·Π΄. ΠΠΎΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
import pygame import random pygame.init() screen_width = 640 screen_height = 480 screen = pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_caption("ΠΠ²Π΅Π·Π΄Ρ ΠΏΠ°Π΄Π°ΡΡ Π²Π½ΠΈΠ·") black = (0, 0, 0) white = (255, 255, 255) pink = (255, 192, 203) font = pygame.font.SysFont("Verdana", 15) star_list = [] for i in range(50): x = random.randrange(screen_width) y = random.randrange(-200, -50) speed = random.randrange(1, 5) star_list.append([x, y, speed]) score = 0 freeze = False # ΡΠ»Π°Π³ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() quit() if event.type == pygame.MOUSEBUTTONDOWN: # ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π·Π²Π΅Π·Π΄ ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡ freeze = True if event.type == pygame.KEYDOWN: if event.key == pygame.K_RETURN: # Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²Π½ΠΈΠ·, Π΅ΡΠ»ΠΈ Π½Π°ΠΆΠ°Ρ Enter freeze = False if not freeze: # Π΅ΡΠ»ΠΈ ΡΠ»Π°Π³ Π½Π΅ Π°ΠΊΡΠΈΠ²Π΅Π½, # Π·Π²Π΅Π·Π΄Ρ ΠΏΠ°Π΄Π°ΡΡ Π²Π½ΠΈΠ· for star in star_list: star[1] += star[2] if star[1] > screen_height: star[0] = random.randrange(screen_width) star[1] = random.randrange(-200, -50) score += 1 # ΡΠΈΡΡΠ΅ΠΌ Π·Π²Π΅Π·Π΄Ρ, Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° screen.fill(black) for star in star_list: pygame.draw.circle(screen, pink, (star[0], star[1]), 3) score_text = font.render("Π£ΠΏΠ°Π»ΠΎ Π·Π²Π΅Π·Π΄: " + str(score), True, white) screen.blit(score_text, (10, 10)) pygame.display.update() # ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠ°ΡΡΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠ°Π½Π° pygame.time.Clock().tick(60)
ΠΠΎΠΊΠ°Π΄ΡΠΎΠ²Π°Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π² Π·Π°ΠΏΠ°ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Ρ ΡΠ°ΡΠΊΠ°Π΄ΡΠΎΠ²ΠΊΠΎΠΉ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ ΠΈΡ Π² Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π½Π΅ ΡΠΎΡΡΠ°Π²ΠΈΡ ΡΡΡΠ΄Π°:
import pygame pygame.init() window_size = (640, 480) screen = pygame.display.set_mode(window_size) color = (216, 233, 243) screen.fill(color) pygame.display.flip() pygame.display.set_caption("ΠΠΎΠΊΠ°Π΄ΡΠΎΠ²Π°Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ") clock = pygame.time.Clock() # Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΠΊΠ°Π΄ΡΡ frame_images = [] for i in range(1, 9): frame_images.append(pygame.image.load(f"frame{i}.png")) # ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ animation_length = len(frame_images) animation_speed = 15 # ΠΊΠ°Π΄ΡΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ current_frame_index = 0 animation_timer = 0 frame_position = [0, 0] # Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠ°Π΄ΡΠΎΠ² Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²ΡΡΠΎΡΡ ΠΎΠΊΠ½Π° window_height = screen.get_height() frame_height = frame_images[0].get_height() frame_position[1] = int(window_height * 0.45) - int(frame_height / 2) # Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ» running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ time_delta = clock.tick(60) / 1000.0 animation_timer += time_delta if animation_timer >= 1.0 / animation_speed: current_frame_index = (current_frame_index + 1) % animation_length animation_timer -= 1.0 / animation_speed frame_position[0] += 1 # ΡΠ΄Π²ΠΈΠ³Π°Π΅ΠΌ ΠΊΠ°Π΄Ρ Π²ΠΏΡΠ°Π²ΠΎ # Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΊΠ°Π΄ΡΡ, ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ ΡΠΊΡΠ°Π½ current_frame = frame_images[current_frame_index] screen.blit(current_frame, frame_position) pygame.display.flip() pygame.quit()
Π‘ΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ±ΡΠ΅ΠΊΡΡ Π½Π΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡ. Π ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅ΡΡΡ, Π° ΡΠ²Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² β ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ:
import pygame import math pygame.init() screen_width = 400 screen_height = 480 screen = pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_caption("ΠΡΠ°ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅") # ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ circle_pos = [screen_width/2, 50] circle_radius = 20 # ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° rect_pos = [screen_width/2, screen_height-50] rect_width = 100 rect_height = 50 # ΡΠ²Π΅ΡΠ° ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° white = (255, 255, 255) black = (0, 0, 0) green = (0, 255, 0) red = (255, 0, 0) # ΡΠΊΠΎΡΠΎΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ speed = 5 while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() quit() # ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ Π²Π½ΠΈΠ· circle_pos[1] += speed # ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΡΠΌΡΠ»Ρ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ), # ΡΡΠΎΠ»ΠΊΠ½ΡΠ»Π°ΡΡ Π»ΠΈ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ circle_x = circle_pos[0] circle_y = circle_pos[1] rect_x = rect_pos[0] rect_y = rect_pos[1] distance_x = abs(circle_x - rect_x) distance_y = abs(circle_y - rect_y) if distance_x <= (rect_width/2 + circle_radius) and distance_y <= (rect_height/2 + circle_radius): circle_color = red # ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ²Π΅Ρ ΡΠΈΠ³ΡΡ rect_color = green # Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ else: circle_color = green rect_color = black # ΡΠΈΡΡΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ ΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Π½Π° ΡΠΊΡΠ°Π½Π΅ screen.fill(white) pygame.draw.circle(screen, circle_color, circle_pos, circle_radius) pygame.draw.rect(screen, rect_color, (rect_pos[0]-rect_width/2, rect_pos[1]-rect_height/2, rect_width, rect_height)) pygame.display.update() # ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° # ΡΡΠΎΠ»ΠΊΠ½ΡΠ»Π°ΡΡ Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ if circle_pos[1] + circle_radius >= rect_pos[1] - rect_height/2: speed = 0 # Π·Π°Π΄Π°Π΅ΠΌ ΡΠ°ΡΡΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠ°Π½Π° pygame.time.Clock().tick(60)
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ (Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ β Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΡ β ΠΈ β) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ pygame.K_RIGHT
(Π²ΠΏΡΠ°Π²ΠΎ) ΠΈ pygame.K_LEFT
(Π²Π»Π΅Π²ΠΎ). Π
ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°Π΄Π°ΡΡΠΈΡ
ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎ
ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΡ Π½Π° Π΄Π½ΠΎ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, ΠΈΠ»ΠΈ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΡΠΈΠ³ΡΡΡ. ΠΠ»Ρ
ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°ΠΊΡΠ° ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠΈΠ³ΡΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ Π²ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ:
import pygame import random pygame.init() screen_width = 640 screen_height = 480 screen = pygame.display.set_mode((screen_width, screen_height)) # ΡΠ²Π΅ΡΠ° ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠ΅ΠΉ white = (255, 255, 255) red = (255, 0, 0) green = (0, 255, 0) blue = (0, 0, 255) black = (0, 0, 0) yellow = (255, 255, 0) # ΡΠ²Π΅Ρ, ΡΠΊΠΎΡΠΎΡΡΡ, Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ circle_radius = 30 circle_speed = 3 circle_color = random.choice([red, green, blue, yellow, white]) circle_pos = [screen_width//2, -circle_radius] circle_landed = False # ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΈΠ·Π΅ΠΌΠ»ΠΈΠ²ΡΠΈΡ ΡΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ ΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ landed_circles = [] while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() quit() # Π΅ΡΠ»ΠΈ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ Π½Π΅ ΠΏΡΠΈΠ·Π΅ΠΌΠ»ΠΈΠ»Π°ΡΡ if not circle_landed: # ΠΌΠ΅Π½ΡΠ΅ΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ keys = pygame.key.get_pressed() if keys[pygame.K_LEFT]: circle_pos[0] -= circle_speed if keys[pygame.K_RIGHT]: circle_pos[0] += circle_speed # ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΡΠΎΠ»ΠΊΠ½ΡΠ»Π°ΡΡ Π»ΠΈ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠ·Π΅ΠΌΠ»ΠΈΠ²ΡΠ΅ΠΉΡΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡΡ for landed_circle in landed_circles: landed_rect = pygame.Rect(landed_circle[0]-circle_radius, landed_circle[1]-circle_radius, circle_radius*2, circle_radius*2) falling_rect = pygame.Rect(circle_pos[0]-circle_radius, circle_pos[1]-circle_radius, circle_radius*2, circle_radius*2) if landed_rect.colliderect(falling_rect): circle_landed = True collision_x = circle_pos[0] collision_y = landed_circle[1] - circle_radius*2 landed_circles.append((collision_x, collision_y, circle_color)) break # Π΅ΡΠ»ΠΈ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ Π½Π΅ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»Π°ΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠ·Π΅ΠΌΠ»ΠΈΠ²ΡΠ΅ΠΉΡΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡΡ if not circle_landed: # ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ Π²Π½ΠΈΠ· circle_pos[1] += circle_speed # ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π΄ΠΎΡΡΠΈΠ³Π»Π° Π»ΠΈ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ Π΄Π½Π° if circle_pos[1] + circle_radius > screen_height: circle_pos[1] = screen_height - circle_radius circle_landed = True # Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ ΠΈ Π΅Π΅ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΈΠ·Π΅ΠΌΠ»ΠΈΠ²ΡΠΈΡ ΡΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠ΅ΠΉ landed_circles.append((circle_pos[0], circle_pos[1], circle_color)) if circle_landed: # Π΅ΡΠ»ΠΈ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ·Π΅ΠΌΠ»ΠΈΠ»Π°ΡΡ, Π·Π°Π΄Π°Π΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½ΠΎΠ²ΠΎΠΉ circle_pos = [screen_width//2, -circle_radius] circle_color = random.choice([red, green, blue, yellow, white]) circle_landed = False # ΡΠΈΡΡΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ screen.fill(black) for landed_circle in landed_circles: pygame.draw.circle(screen, landed_circle[2], (landed_circle[0], landed_circle[1]), circle_radius) pygame.draw.circle(screen, circle_color, circle_pos, circle_radius) pygame.display.update() # ΡΠ°ΡΡΠΎΡΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠ°Π½Π° pygame.time.Clock().tick(60)
ΠΡΠ°ΠΊΡΠΈΠΊΠ°
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 1 β ΠΠ΅ΡΡΠ½ΠΈΡΠ°
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Pygame ΠΈΠ³ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΠ³ΡΠΎΠΊ (ΠΊΡΠ°ΡΠ½Π°Ρ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ) ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΡΡΡ Π²Π²Π΅ΡΡ ΠΏΠΎ ΡΡΡΠΏΠ΅Π½ΡΠΌ Π»Π΅ΡΡΠ½ΠΈΡΡ. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΡΠ°Π³ΠΈ.
ΠΡΠΈΠΌΠ΅Ρ:
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
import pygame pygame.init() WINDOW_WIDTH = 500 WINDOW_HEIGHT = 500 game_display = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT)) pygame.display.set_caption('ΠΠ²Π΅ΡΡ ΠΏΠΎ Π»Π΅ΡΡΠ½ΠΈΡΠ΅') # ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΡΠΏΠ΅Π½Π΅ΠΉ STEP_WIDTH = 20 STEP_HEIGHT = STEP_WIDTH STEP_COLOR = (255, 255, 255) # ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠ³ΡΠΎΠΊΠ°, ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈ ΡΠ²Π΅Ρ ΡΡΠΈΡΡΠ° PLAYER_RADIUS = 10 PLAYER_COLOR = (255, 0, 0) FONT_SIZE = 20 FONT_COLOR = (255, 255, 255) clock = pygame.time.Clock() def game_loop(): game_exit = False # ΡΡΠ°ΡΡΠΎΠ²Π°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΈΠ³ΡΠΎΠΊΠ° player_x = PLAYER_RADIUS player_y = WINDOW_HEIGHT - PLAYER_RADIUS * 3 # Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΡΡΠΏΠ΅Π½Π΅ΠΉ step_x = 0 step_y = WINDOW_HEIGHT - STEP_HEIGHT # ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠ°Π³ΠΎΠ² step_count = 0 while not game_exit: for event in pygame.event.get(): if event.type == pygame.QUIT: game_exit = True if event.type == pygame.KEYDOWN: if event.key == pygame.K_RIGHT: # ΡΠ΄Π°Π»ΡΠ΅ΠΌ ΠΈΠ³ΡΠΎΠΊΠ° ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ pygame.draw.circle(game_display, (0, 0, 0), (player_x, player_y), PLAYER_RADIUS) # ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΈ ΡΡΠ΅Ρ player_x += 20 player_y -= 20 step_count += 1 # ΡΠΈΡΡΠ΅ΠΌ Π»Π΅ΡΡΠ½ΠΈΡΡ while step_x < WINDOW_WIDTH and step_y >= 0: pygame.draw.rect(game_display, STEP_COLOR, [step_x, step_y, STEP_WIDTH, STEP_HEIGHT]) step_x += STEP_WIDTH step_y -= STEP_HEIGHT # ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΈΠ³ΡΠΎΠΊΠ° Π½Π° ΡΡΡΠΏΠ΅Π½Ρ Π²ΡΡΠ΅ pygame.draw.circle(game_display, PLAYER_COLOR, (player_x, player_y), PLAYER_RADIUS) # ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΡΠ°Π³ΠΈ pygame.draw.rect(game_display, (0, 0, 0), (10, 10, 100, FONT_SIZE)) font = pygame.font.SysFont('Arial', FONT_SIZE) text = font.render(f'Π¨Π°Π³: {str(step_count)}', True, FONT_COLOR) game_display.blit(text, (10, 10)) pygame.display.update() clock.tick(60) game_loop() pygame.quit()
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 2 β ΠΠ°Π±ΠΈΡΠΈΠ½Ρ
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Pygame ΠΈΠ³ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π»Π°Π±ΠΈΡΠΈΠ½Ρ ΠΈΠ· Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π½ ΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π΄Π²Π΅ΡΠ΅ΠΉ. ΠΠ³ΡΠΎΠΊ (ΠΊΡΠ°ΡΠ½Π°Ρ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ) Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΡΠ΅Π· Π΄Π²Π΅ΡΠΈ.
ΠΡΠΈΠΌΠ΅Ρ:
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
import pygame import random pygame.init() screen_width = 640 screen_height = 480 screen = pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_caption('ΠΠ°Π±ΠΈΡΠΈΠ½Ρ') black = (0,0,0) white = (255,255,255) red = (255,0,0) blue = (0,0,255) green = (0,255,0) # ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ΅Π½ ΠΈ Π΄Π²Π΅ΡΠ΅ΠΉ line_width = 10 line_gap = 40 line_offset = 20 door_width = 20 door_gap = 40 max_openings_per_line = 5 # ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ ΡΡΠ°ΡΡΠΎΠ²Π°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΈΠ³ΡΠΎΠΊΠ° player_radius = 10 player_speed = 5 player_x = screen_width - 12 player_y = screen_height - line_offset # ΡΠΈΡΡΠ΅ΠΌ ΡΡΠ΅Π½Ρ ΠΈ Π΄Π²Π΅ΡΠΈ lines = [] for i in range(0, screen_width, line_gap): rect = pygame.Rect(i, 0, line_width, screen_height) num_openings = random.randint(1, max_openings_per_line) if num_openings == 1: # ΠΎΠ΄Π½Π° Π΄Π²Π΅ΡΡ ΠΏΠΎΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ ΡΡΠ΅Π½Ρ door_pos = random.randint(line_offset + door_width, screen_height - line_offset - door_width) lines.append(pygame.Rect(i, 0, line_width, door_pos - door_width)) lines.append(pygame.Rect(i, door_pos + door_width, line_width, screen_height - door_pos - door_width)) else: # Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π²Π΅ΡΠ΅ΠΉ opening_positions = [0] + sorted([random.randint(line_offset + door_width, screen_height - line_offset - door_width) for _ in range(num_openings-1)]) + [screen_height] for j in range(num_openings): lines.append(pygame.Rect(i, opening_positions[j], line_width, opening_positions[j+1]-opening_positions[j]-door_width)) clock = pygame.time.Clock() while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() quit() # ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠΊΠ° keys = pygame.key.get_pressed() if keys[pygame.K_LEFT] and player_x > player_radius: player_x -= player_speed elif keys[pygame.K_RIGHT] and player_x < screen_width - player_radius: player_x += player_speed elif keys[pygame.K_UP] and player_y > player_radius: player_y -= player_speed elif keys[pygame.K_DOWN] and player_y < screen_height - player_radius: player_y += player_speed # ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ ΠΈΠ³ΡΠΎΠΊΠ° ΡΠΎ ΡΡΠ΅Π½Π°ΠΌΠΈ player_rect = pygame.Rect(player_x - player_radius, player_y - player_radius, player_radius * 2, player_radius * 2) for line in lines: if line.colliderect(player_rect): # Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ ΠΈΠ³ΡΠΎΠΊΠ° Π½Π°Π·Π°Π΄ if player_x > line.left and player_x < line.right: if player_y < line.top: player_y = line.top - player_radius else: player_y = line.bottom + player_radius elif player_y > line.top and player_y < line.bottom: if player_x < line.left: player_x = line.left - player_radius else: player_x = line.right + player_radius screen.fill(black) for line in lines: pygame.draw.rect(screen, green, line) pygame.draw.circle(screen, red, (player_x, player_y), player_radius) pygame.display.update() clock.tick(60)
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 3 β ΠΠΎΠΆΠ΄Ρ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Pygame, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΡΠΈΠΌΡΠ»ΡΡΠΎΡ Π΄ΠΎΠΆΠ΄Ρ: ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΡΠ½ΠΈ ΠΊΠ°ΠΏΠ΅Π»Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΠ΄ΡΠ΅ΠΌΡ ΡΡΠΎΠ²Π½Ρ Π²ΠΎΠ΄Ρ Π½Π° 1 ΠΏΠΈΠΊΡΠ΅Π»Ρ.
ΠΡΠΈΠΌΠ΅Ρ:
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
import pygame import random class RainSimulator: def __init__(self): pygame.init() self.screen_width = 500 self.screen_height = 700 self.screen = pygame.display.set_mode((self.screen_width, self.screen_height)) pygame.display.set_caption("ΠΠΎΠΆΠ΄Ρ") self.font = pygame.font.SysFont("Consolas", 20) self.background_color = (0, 0, 0) self.blue = (173, 216, 230) # ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄ΠΎΠΆΠ΄Π΅Π²ΡΡ ΠΊΠ°ΠΏΠ΅Π»Ρ self.drops = [] self.drops_landed = 0 self.drops_per_pixel = 100 self.level_height = 0 self.clock = pygame.time.Clock() # Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΊΠ°ΠΏΠ»ΠΈ Π΄ΠΎΠΆΠ΄Ρ def add_drop(self): self.drops.append([random.randint(0, self.screen_width), 0]) # ΡΠΈΡΡΠ΅ΠΌ Π΄ΠΎΠΆΠ΄Ρ def draw_drops(self): for drop in self.drops: pygame.draw.line(self.screen, self.blue, (drop[0], drop[1]), (drop[0], drop[1] + 5), 2) # ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ ΠΊΠ°ΠΏΠ»ΠΈ, ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΠΌ ΡΡΠΎΠ²Π΅Π½Ρ Π²ΠΎΠ΄Ρ def update_drops(self): for drop in self.drops: drop[1] += 5 if drop[1] >= self.screen_height: self.drops.remove(drop) self.drops_landed += 1 if self.drops_landed % self.drops_per_pixel == 0: self.level_height += 1 # Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ°ΠΏΠ΅Π»Ρ def draw_score(self): score_text = self.font.render(f"ΠΠ°ΠΏΠ΅Π»Ρ Π΄ΠΎΠΆΠ΄Ρ: {str(self.drops_landed)}", True, (255, 255, 255)) self.screen.blit(score_text, (10, 10)) pygame.draw.rect(self.screen, self.blue, (0, self.screen_height-self.level_height, self.screen_width, self.level_height)) def run_rain(self): running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False self.add_drop() self.update_drops() self.screen.fill(self.background_color) self.draw_drops() self.draw_score() pygame.display.update() self.clock.tick(60) pygame.quit() if __name__ == "__main__": app = RainSimulator() app.run_rain()
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 4 β ΠΠ΅ΡΡΠ°ΡΡΠΈΠ΅ Π·Π²Π΅Π·Π΄Ρ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Pygame, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΡΠΈΠΌΡΠ»ΡΡΠΎΡ Π·Π²Π΅Π·Π΄Π½ΠΎΠ³ΠΎ Π½Π΅Π±Π° β ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΎΠ±ΠΎΠΉ Π·Π²Π΅Π·Π΄Ρ, ΡΠΆΠΈΠΌΠ°ΡΡΡΡ ΠΈ ΡΠ°ΡΡΠΈΡΡΡΡΡΡ, ΠΈΠΌΠΈΡΠΈΡΡΡ ΠΌΠ΅ΡΡΠ°Π½ΠΈΠ΅.
ΠΡΠΈΠΌΠ΅Ρ:
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
import pygame import random pygame.init() WINDOW_WIDTH = 800 WINDOW_HEIGHT = 600 screen = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT)) pygame.display.set_caption("ΠΠ΅ΡΡΠ°ΡΡΠΈΠ΅ Π·Π²Π΅Π·Π΄Ρ") # ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π²Π΅Π·Π΄ MAX_STARS = 200 stars = [] for i in range(MAX_STARS): star_radius = random.randint(1, 3) star_color = (255, 255, 237) star_position = (random.randint(0, WINDOW_WIDTH), random.randint(0, WINDOW_HEIGHT)) star_expand = True star_expand_speed = random.uniform(0.1, 0.5) stars.append((star_radius, star_color, star_position, star_expand, star_expand_speed)) clock = pygame.time.Clock() while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() exit() for i in range(MAX_STARS): star_radius, star_color, star_position, star_expand, star_expand_speed = stars[i] # Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ°Π΄ΠΈΡΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ if star_expand: star_radius += star_expand_speed if star_radius >= 5: star_expand = False else: star_radius -= star_expand_speed if star_radius <= 1: star_expand = True # ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π·Π²Π΅Π·Π΄ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠ° ΠΌΠ΅ΡΡΠ°Π½ΠΈΡ star_position = ( star_position[0] + random.randint(-1, 1), star_position[1] + random.randint(-1, 1) ) stars[i] = (star_radius, star_color, star_position, star_expand, star_expand_speed) # ΡΠΈΡΡΠ΅ΠΌ Π·Π²Π΅Π·Π΄Ρ screen.fill((0, 0, 0)) for star in stars: star_radius, star_color, star_position, _, _ = star pygame.draw.circle(screen, star_color, star_position, star_radius) pygame.display.update() clock.tick(60)
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 5 β ΠΠΎΠ»ΠΎΠ±ΠΎΠΊ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Pygame, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π»ΠΈΡΠ° (ΡΠΎΡΡΠΎΡΡΠ°Ρ ΠΈΠ· ΡΡΠΈΡ ΡΡΠ΅ΠΉΠΌΠΎΠ²) ΠΏΡΠ΅ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΠΎΠ»ΠΎΠ±ΠΊΠ°. ΠΠΎΠ»ΠΎΠ±ΠΎΠΊ Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π²ΠΎΠΊΡΡΠ³ ΡΠ²ΠΎΠ΅ΠΉ ΠΎΡΠΈ.
ΠΡΠΈΠΌΠ΅Ρ:
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
ΠΠΎΠ΄ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
import pygame pygame.init() background = (24, 113, 147) WINDOW_WIDTH = 800 WINDOW_HEIGHT = 300 game_display = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT)) pygame.display.set_caption('ΠΠΎΠ»ΠΎΠ±ΠΎΠΊ') # Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΠΎΠ»ΠΎΠ±ΠΊΠ° kolobok = pygame.image.load('kolobok.png') # ΡΡΠ°ΡΡΠΎΠ²ΡΠΉ ΡΠ³ΠΎΠ» Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΊΠΎΡΠΎΡΡΡ kolobok_angle = 0 kolobok_rotation_speed = 2 # Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΡΠ΅ΠΉΠΌΡ Π»ΠΈΡΡ fox = [] for i in range(8): fox.append(pygame.image.load(f'fox{i+1}.png')) # ΡΠ°ΡΡΠΎΡΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ΅ΠΉΠΌΠΎΠ² Π»ΠΈΡΡ fox_frame = 0 fox_frame_rate = 8 fox_frame_timer = 0 # ΡΡΠ°ΡΡΠΎΠ²ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΈ ΡΠΊΠΎΡΠΎΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π»ΠΈΡΡ ΠΈ ΠΠΎΠ»ΠΎΠ±ΠΊΠ° kolobok_x = 0 kolobok_y = WINDOW_HEIGHT // 2 + kolobok.get_height() // 4 fox_x = -fox[0].get_width() fox_y = WINDOW_HEIGHT // 2 - fox[0].get_height() // 2 movement_speed = 3 clock = pygame.time.Clock() # Π³Π»Π°Π²Π½ΡΠΉ ΡΠΈΠΊΠ» game_exit = False while not game_exit: for event in pygame.event.get(): if event.type == pygame.QUIT: game_exit = True # Π²ΡΠ°ΡΠ°Π΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΠΎΠ»ΠΎΠ±ΠΊΠ° Π²ΠΎΠΊΡΡΠ³ ΡΠ²ΠΎΠ΅ΠΉ ΠΎΡΠΈ kolobok_angle += kolobok_rotation_speed if kolobok_angle >= 360: kolobok_angle = 0 rotated_kolobok = pygame.transform.rotate(kolobok, kolobok_angle) # Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΠΎΠ»ΠΎΠ±ΠΊΠ° ΠΈ Π»ΠΈΡΡ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ kolobok_x += movement_speed if kolobok_x > WINDOW_WIDTH: kolobok_x = 0 - fox[0].get_width() fox_x += movement_speed if fox_x > WINDOW_WIDTH: fox_x = 0 - fox[0].get_width() # ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΊΠΎΡΠΎΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π»ΠΈΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ ΡΠ°ΡΡΠΎΡΠΎΠΉ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠ°Π½Π° fox_frame_timer += clock.tick(60) if fox_frame_timer >= 1000 / fox_frame_rate: fox_frame_timer -= 1000 / fox_frame_rate fox_frame = (fox_frame + 1) % len(fox) # ΡΠΈΡΡΠ΅ΠΌ ΡΠΎΠ½, Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΈΠ³ΡΡΡ ΠΠΎΠ»ΠΎΠ±ΠΊΠ° ΠΈ Π»ΠΈΡΡ game_display.fill(background) game_display.blit(rotated_kolobok, (kolobok_x, kolobok_y)) game_display.blit(fox[fox_frame], (fox_x, fox_y)) pygame.display.update() pygame.quit()
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 6 β Π‘Π²Π΅ΡΠΎΡΠΎΡ
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Pygame ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π΅ΡΠΎΡΠΎΡΠ°: ΠΊΠΎΠ³Π΄Π° Π³ΠΎΡΠΈΡ Π·Π΅Π»Π΅Π½ΡΠΉ ΡΠ²Π΅Ρ (6 ΡΠ΅ΠΊΡΠ½Π΄), ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ-Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ Π΄Π²ΠΈΠΆΡΡΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄. ΠΡΠ°ΡΠ½ΡΠΉ ΠΈ ΠΆΠ΅Π»ΡΡΠΉ ΡΠ²Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π½Π° 2 ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ, Π² ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΠ°ΡΠΈΠΊ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ:
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
import pygame import random pygame.init() WINDOW_WIDTH = 800 WINDOW_HEIGHT = 600 game_display = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT)) pygame.display.set_caption('Π‘Π²Π΅ΡΠΎΡΠΎΡ') clock = pygame.time.Clock() BLACK = (0, 0, 0) DARK_GRAY = (64, 64, 64) GRAY = (128, 128, 128) RED = (255, 0, 0) YELLOW = (255, 255, 0) BLUE = (0, 0, 255) GREEN = (0, 255, 0) def game_loop(): game_exit = False # ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΠ²Π΅ΡΠ° Π΄Π»Ρ ΡΠ²Π΅ΡΠΎΡΠΎΡΠ° colors = [RED, YELLOW, GREEN] active_index = 0 last_switch = pygame.time.get_ticks() interval = 2000 # ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ car_width = 40 car_height = 60 car_speed = 2 horizontal_spacing = 12 vertical_spacing = 20 car_rects = [] for i in range(2): left_rect = pygame.Rect(100, random.randint(50, WINDOW_HEIGHT - car_height), car_width, car_height) right_rect = pygame.Rect(WINDOW_WIDTH - 300 - car_width, random.randint(50, WINDOW_HEIGHT - car_height), car_width, car_height) car_rects.append(left_rect) car_rects.append(right_rect) # Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ Π΄ΠΈΡΡΠ°Π½ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΠΌΠΈ for i in range(1, len(car_rects)): if car_rects[i].left - car_rects[i-1].right < horizontal_spacing: car_rects[i].left = car_rects[i-1].right + horizontal_spacing if car_rects[i].top - car_rects[i-1].bottom < vertical_spacing: car_rects[i].top = car_rects[i-1].bottom + vertical_spacing while not game_exit: for event in pygame.event.get(): if event.type == pygame.QUIT: game_exit = True # ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΡΠΉ ΡΠ²Π΅Ρ ΡΠ²Π΅ΡΠΎΡΠΎΡΠ° now = pygame.time.get_ticks() if now - last_switch >= interval: active_index = (active_index + 1) % len(colors) last_switch = now # Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π΄Π»Ρ Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° - 6 ΡΠ΅ΠΊΡΠ½Π΄, Π΄Π»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ - 2 interval = 6000 if active_index == 2 else 2000 # Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΠΈΠ½ if active_index == 0 or active_index == 1: car_speed = 0 else: car_speed = 2 for car_rect in car_rects: car_rect.move_ip(0, -car_speed) if car_rect.bottom <= 0: car_rect.top = WINDOW_HEIGHT car_rect.left = 100 if car_rect.left == WINDOW_WIDTH - 100 - car_width else WINDOW_WIDTH - 100 - car_width # ΡΠΈΡΡΠ΅ΠΌ ΡΠ²Π΅ΡΠΎΡΠΎΡ game_display.fill(GRAY) light_rect = pygame.Rect((WINDOW_WIDTH - 200) // 2, (WINDOW_HEIGHT - 300) // 2, 100, 300) pygame.draw.rect(game_display, DARK_GRAY, light_rect, 5) light_width = light_rect.width light_height = light_rect.height // 3 light_y = light_rect.top for i in range(3): circle_rect = pygame.Rect(light_rect.left + 10, light_y + i * light_height + 10, light_width - 20, light_height - 20) circle_color = colors[i] if i == active_index else BLACK pygame.draw.circle(game_display, circle_color, circle_rect.center, circle_rect.width // 2) # ΡΠΈΡΡΠ΅ΠΌ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ for car_rect in car_rects: pygame.draw.rect(game_display, BLUE, car_rect) pygame.display.update() clock.tick(60) pygame.quit() game_loop()
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 7 β ΠΠΈΠ·ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠ°ΠΌΡΡΡ
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π»Π°ΠΉΡ-Π²Π΅ΡΡΠΈΡ ΠΈΠ³ΡΡ Memory game, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Pygame. Π‘Π½Π°ΡΠ°Π»Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡ (Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅) ΡΠ²Π΅ΡΠ½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΈΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΠΊΡΠ½Π΄. ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΡΠ²Π΅ΡΠ½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΡΠΌΠΈ: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎ ΠΏΠ°ΠΌΡΡΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ²Π΅ΡΠ½ΡΠ΅ ΠΏΠ°ΡΡ. ΠΠ°ΠΆΠ΄Π°Ρ ΡΠ³Π°Π΄Π°Π½Π½Π°Ρ ΠΏΠ°ΡΠ° ΠΏΡΠΈΠ½ΠΎΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ 1 Π±Π°Π»Π».
ΠΡΠΈΠΌΠ΅Ρ:
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
import pygame from random import shuffle pygame.init() # ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΠ²Π΅ΡΠ° ΠΈΠ³ΡΡ black = (0, 0, 0) white = (255, 255, 255) red = (255, 0, 0) blue = (0, 0, 255) green = (0, 255, 0) yellow = (255, 255, 0) purple = (128, 0, 128) grey = (192, 192, 192) screen_width = 800 screen_height = 600 screen = pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_caption("Π’ΡΠ΅Π½ΠΈΡΡΠ΅ΠΌ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ") # Π·Π°Π΄Π°Π΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠΈΠ²Π°Π΅ΠΌ ΠΏΠ°ΡΡ circle_radius = 50 circle_colors = [red, blue, green, yellow, purple, white] circle_pairs = circle_colors * 2 shuffle(circle_pairs) # ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠ΅ΠΉ circle_positions = [] for i in range(6): for j in range(2): center_x = ((screen_width / 6) * (i + 1)) - (screen_width / 12) center_y = ((screen_height / 3) * (j + 1)) - (screen_height / 6) circle_positions.append([center_x, center_y]) # Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΈ ΡΠ²Π΅ΡΠ° ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠ΅ΠΉ original_circle_positions = circle_positions.copy() original_circle_colors = circle_pairs.copy() # ΡΠΈΡΡΠ΅ΠΌ ΡΠ²Π΅ΡΠ½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ for i in range(len(circle_pairs)): position = circle_positions[i] color = circle_pairs[i] pygame.draw.circle(screen, color, position, circle_radius) font = pygame.font.SysFont('Arial', 20) pygame.display.update() # ΠΆΠ΄Π΅ΠΌ 5 ΡΠ΅ΠΊΡΠ½Π΄ pygame.time.wait(5000) # Π·Π°ΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ²Π΅ΡΠ½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΡΠΌΠΈ for i in range(len(circle_pairs)): position = circle_positions[i] pygame.draw.circle(screen, grey, position, circle_radius) pygame.display.update() uncovered_circles = [] last_uncovered_circle = None score = 0 while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() exit() if event.type == pygame.MOUSEBUTTONDOWN: mouse_pos = event.pos for i in range(len(circle_positions)): position = circle_positions[i] if ((position[0] - mouse_pos[0]) ** 2 + (position[1] - mouse_pos[1]) ** 2) ** 0.5 < circle_radius: if i not in uncovered_circles: uncovered_circles.append(i) color = original_circle_colors[i] pygame.draw.circle(screen, color, position, circle_radius) pygame.display.update() if last_uncovered_circle is not None and original_circle_colors[last_uncovered_circle] == original_circle_colors[i]: score += 1 last_uncovered_circle = i if len(uncovered_circles) == len(circle_pairs): # Π²ΡΠ²ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° final_score_text = font.render(f"Π£ΡΠΎΠ²Π΅Π½Ρ ΠΏΠ°ΠΌΡΡΠΈ: {str(score)} ΠΈΠ· 6", True, white) screen.blit(final_score_text, (screen_width // 2, screen_height // 2 + 125)) pygame.display.update() pygame.time.wait(3000) pygame.quit() exit()
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 8 β ΠΠΎΠ΄ΡΡΠ΅Ρ ΡΠΈΠ³ΡΡ
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Pygame ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ²Π΅ΡΡ Ρ ΠΎΠΊΠ½Π° Π²Π½ΠΈΠ· ΠΏΠ»Π°Π²Π½ΠΎ ΡΠΏΡΡΠΊΠ°ΡΡΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠ°Π·Π½ΠΎΡΠ²Π΅ΡΠ½ΡΠ΅ ΡΠΈΠ³ΡΡΡ β ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ, ΠΊΠ²Π°Π΄ΡΠ°ΡΡ ΠΈ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ. Π¦Π²Π΅Ρ Π΄Π»Ρ ΡΠΈΠ³ΡΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π² Π²Π΅ΡΡ Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡΠ³Π»Ρ ΠΎΠΊΠ½Π°.
ΠΡΠΈΠΌΠ΅Ρ:
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
import pygame import random pygame.init() width = 800 height = 600 screen = pygame.display.set_mode((width, height)) pygame.display.set_caption("ΠΠΎΠ΄ΡΡΠ΅Ρ ΡΠΈΠ³ΡΡ") clock = pygame.time.Clock() white = (255, 255, 255) black = (0, 0, 0) colors = [(255, 0, 0), (0, 255, 0), (0, 0, 255), (255, 255, 0), (255, 0, 255), (0, 255, 255)] # ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΈΠ³ΡΡ class Circle: def __init__(self, x, y, color): self.x = x self.y = y self.color = color self.radius = 30 def draw(self): pygame.draw.circle(screen, self.color, (self.x, self.y), self.radius) class Triangle: def __init__(self, x, y, color): self.x = x self.y = y self.color = color self.width = 60 self.height = 60 def draw(self): pygame.draw.polygon(screen, self.color, [(self.x, self.y), (self.x + self.width, self.y), (self.x + self.width/2, self.y - self.height)]) class Square: def __init__(self, x, y, color): self.x = x self.y = y self.color = color self.width = 60 self.height = 60 def draw(self): pygame.draw.rect(screen, self.color, (self.x, self.y, self.width, self.height)) # ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠ³ΡΡ shapes = [] x = random.randint(0, width - 60) y = random.randint(-500, -50) color = random.choice(colors) shape_type = random.choice(["circle", "triangle", "square"]) if shape_type == "circle": shape = Circle(x, y, color) elif shape_type == "triangle": shape = Triangle(x, y, color) else: shape = Square(x, y, color) shapes.append(shape) # ΡΡΠ΅ΡΡΠΈΠΊΠΈ ΡΠΈΠ³ΡΡ circle_count = 0 triangle_count = 0 square_count = 0 while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() quit() screen.fill(black) # ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠΈΠ³ΡΡΡ for shape in shapes: shape.draw() shape.y += 5 if shape.y > height: shapes.remove(shape) if isinstance(shape, Circle): circle_count += 1 elif isinstance(shape, Triangle): triangle_count += 1 else: square_count += 1 x = random.randint(0, width - 60) y = random.randint(-500, -50) color = random.choice(colors) shape_type = random.choice(["circle", "triangle", "square"]) if shape_type == "circle": shape = Circle(x, y, color) elif shape_type == "triangle": shape = Triangle(x, y, color) else: shape = Square(x, y, color) shapes.append(shape) # Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΡΠ΅ΡΡΠΈΠΊΠΈ font = pygame.font.SysFont("Verdana", 25) circle_text = font.render(f"ΠΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ: {circle_count}", True, white) triangle_text = font.render(f"Π’ΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ: {triangle_count}", True, white) square_text = font.render(f"ΠΠ²Π°Π΄ΡΠ°ΡΡ: {square_count}", True, white) screen.blit(circle_text, (10, 10)) screen.blit(triangle_text, (10, 40)) screen.blit(square_text, (10, 70)) pygame.display.update() clock.tick(60)
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 9 β ΠΡΠΈΠ·Ρ ΠΈ Π±ΠΎΠΌΠ±Ρ
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Pygame ΠΈΠ³ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΠ³ΡΠΎΠΊ (Π·Π΅Π»Π΅Π½Π°Ρ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ) Π΄ΠΎΠ»ΠΆΠ΅Π½ Β«Π»ΠΎΠ²ΠΈΡΡΒ» ΡΠΈΠ½ΠΈΠ΅ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ (Β«ΠΏΡΠΈΠ·ΡΒ»), ΠΈΠ·Π±Π΅Π³Π°Ρ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Ρ ΠΊΡΠ°ΡΠ½ΡΠΌΠΈ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡΠΌΠΈ (Β«Π±ΠΎΠΌΠ±Π°ΠΌΠΈΒ»). ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠΉΠΌΠ°Π½Π½ΡΡ ΠΏΡΠΈΠ·ΠΎΠ² Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°ΡΡ.
ΠΡΠΈΠΌΠ΅Ρ:
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
import pygame import random class RewardsBombs(): def __init__(self): pygame.init() self.screen_width = 600 self.screen_height = 600 self.screen = pygame.display.set_mode((self.screen_width, self.screen_height)) pygame.display.set_caption("ΠΡΠΈΠ·Ρ ΠΈ Π±ΠΎΠΌΠ±Ρ") self.clock = pygame.time.Clock() self.green_pos = [self.screen_width // 2, self.screen_height - 30] self.red_positions = [] self.red_speed = 2 self.score = 0 self.font = pygame.font.SysFont("Arial", 24) self.run() def run(self): while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() exit() if event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: if self.green_pos[0] - 20 >= 0: self.green_pos[0] -= 20 elif event.key == pygame.K_RIGHT: if self.green_pos[0] + 20 <= self.screen_width: self.green_pos[0] += 20 elif event.key == pygame.K_UP: if self.green_pos[1] - 20 >= 0: self.green_pos[1] -= 20 elif event.key == pygame.K_DOWN: if self.green_pos[1] + 20 <= self.screen_height: self.green_pos[1] += 20 # Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΠ°ΡΠ½ΡΡ Π±ΠΎΠΌΠ± for i in range(len(self.red_positions)): self.red_positions[i][1] += self.red_speed # ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΎΠΌΠ± ΠΈ ΠΏΡΠΈΠ·ΠΎΠ² if random.random() < 0.02: x = random.randint(0, self.screen_width) num = random.randint(1, 10) if num % 2 == 0: self.red_positions.append([x, 0, False]) else: self.red_positions.append([x, 0, True]) # ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ Ρ ΠΈΠ³ΡΠΎΠΊΠΎΠΌ for pos in self.red_positions: if pos[2]: if abs(pos[0] - self.green_pos[0]) <= 20 and abs(pos[1] - self.green_pos[1]) <= 20: self.score += 1 self.red_positions.remove(pos) else: if (pos[0] - self.green_pos[0]) ** 2 + (pos[1] - self.green_pos[1]) ** 2 < 400: self.game_over() # ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π±ΠΎΠΌΠ±Ρ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΎΠΊΠ½Π° self.red_positions = [pos for pos in self.red_positions if pos[1] < self.screen_height] self.screen.fill((0, 0, 0)) for pos in self.red_positions: if pos[2]: pygame.draw.polygon(self.screen, (0, 0, 255), [[pos[0], pos[1]-10], [pos[0]+10, pos[1]+10], [pos[0]-10, pos[1]+10]]) else: pygame.draw.circle(self.screen, (255, 0, 0), pos[:2], 10) pygame.draw.circle(self.screen, (0, 255, 0), self.green_pos, 10) self.draw_score() pygame.display.update() self.clock.tick(60) def draw_score(self): score_surface = self.font.render(f"ΠΡΠΈΠ·Ρ: {self.score}", True, (255, 255, 255)) self.screen.blit(score_surface, (10, 10)) def game_over(self): message_surface = self.font.render(f"ΠΠ³ΡΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°! ΠΡΠΈΠ·Ρ: {self.score}", True, (255, 0, 0)) self.screen.blit(message_surface, (self.screen_width // 2 - message_surface.get_width() // 2, self.screen_height // 2 - message_surface.get_height() // 2)) pygame.display.update() pygame.time.wait(3000) pygame.quit() exit() if __name__ == "__main__": RewardsBombs()
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 10 β ΠΠΌΠ΅ΠΉΠΊΠ°
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π»Π°ΠΉΡ-Π²Π΅ΡΡΠΈΡ ΠΈΠ³ΡΡ Β«ΠΠΌΠ΅ΠΉΠΊΠ°Β», ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Pygame. ΠΠΌΠ΅ΠΉΠΊΠ° Π΅ΡΡ ΠΊΡΠ°ΡΠ½ΡΠ΅ ΡΠ±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, ΠΈ ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅Ρ Π² Π΄Π»ΠΈΠ½Π΅ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ±Π»ΠΎΠΊΠ°. ΠΡΠΈ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ Ρ Ρ Π²ΠΎΡΡΠΎΠΌ ΠΈΠ»ΠΈ Π³ΡΠ°Π½ΠΈΡΠ΅ΠΉ ΠΎΠΊΠ½Π° ΠΈΠ³ΡΠ° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ:
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
import pygame import random pygame.init() screen_width = 600 screen_height = 600 screen = pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_caption("ΠΠΌΠ΅ΠΉΠΊΠ°") green = (0, 255, 0) red = (255, 0, 0) font = pygame.font.SysFont("Arial", 20) clock = pygame.time.Clock() # ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠ³ΡΡ cell_size = 20 snake_speed = 5 snake_length = 3 snake_body = [] for i in range(snake_length): snake_body.append(pygame.Rect((screen_width / 2) - (cell_size * i), screen_height / 2, cell_size, cell_size)) snake_direction = "right" new_direction = "right" apple_position = pygame.Rect(random.randint(0, screen_width - cell_size), random.randint(0, screen_height - cell_size), cell_size, cell_size) game_over = False while not game_over: for event in pygame.event.get(): if event.type == pygame.QUIT: game_over = True elif event.type == pygame.KEYDOWN: if event.key == pygame.K_UP and snake_direction != "down": new_direction = "up" elif event.key == pygame.K_DOWN and snake_direction != "up": new_direction = "down" elif event.key == pygame.K_LEFT and snake_direction != "right": new_direction = "left" elif event.key == pygame.K_RIGHT and snake_direction != "left": new_direction = "right" # Π½ΠΎΠ²ΠΎΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ snake_direction = new_direction # ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·ΠΌΠ΅ΠΉΠΊΠΎΠΉ if snake_direction == "up": snake_body.insert(0, pygame.Rect(snake_body[0].left, snake_body[0].top - cell_size, cell_size, cell_size)) elif snake_direction == "down": snake_body.insert(0, pygame.Rect(snake_body[0].left, snake_body[0].top + cell_size, cell_size, cell_size)) elif snake_direction == "left": snake_body.insert(0, pygame.Rect(snake_body[0].left - cell_size, snake_body[0].top, cell_size, cell_size)) elif snake_direction == "right": snake_body.insert(0, pygame.Rect(snake_body[0].left + cell_size, snake_body[0].top, cell_size, cell_size)) # ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΡΠ΅Π»Π° Π»ΠΈ Π·ΠΌΠ΅Ρ ΡΠ±Π»ΠΎΠΊΠΎ if snake_body[0].colliderect(apple_position): apple_position = pygame.Rect(random.randint(0, screen_width - cell_size), random.randint(0, screen_height-cell_size), cell_size, cell_size) snake_length += 1 if len(snake_body) > snake_length: snake_body.pop() # ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠΎ ΡΡΠ΅Π½Π°ΠΌΠΈ if snake_body[0].left < 0 or snake_body[0].right > screen_width or snake_body[0].top < 0 or snake_body[0].bottom > screen_height: game_over = True # ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠ΅Π»ΠΎΠΌ for i in range(1, len(snake_body)): if snake_body[0].colliderect(snake_body[i]): game_over = True screen.fill((0, 0, 0)) # ΡΠΈΡΡΠ΅ΠΌ Π·ΠΌΠ΅ΠΉΠΊΡ for i in range(len(snake_body)): if i == 0: pygame.draw.circle(screen, green, snake_body[i].center, cell_size / 2) else: pygame.draw.circle(screen, green, snake_body[i].center, cell_size / 2) pygame.draw.circle(screen, (0, 200, 0), snake_body[i].center, cell_size / 4) # ΡΠΈΡΡΠ΅ΠΌ ΡΠ±Π»ΠΎΠΊΠΎ pygame.draw.circle(screen, red, apple_position.center, cell_size / 2) # Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ±Π»ΠΎΠΊ score_text = font.render(f"Π‘ΡΠ΅Π΄Π΅Π½ΠΎ ΡΠ±Π»ΠΎΠΊ: {snake_length - 3}", True, (255, 255, 255)) screen.blit(score_text, (10, 10)) pygame.display.update() clock.tick(snake_speed) pygame.quit()
ΠΠΎΠ΄Π²Π΅Π΄Π΅ΠΌ ΠΈΡΠΎΠ³ΠΈ
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠ°ΠΌΡΠ΅ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ³Ρ Π² Pygame β Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠΈΡΠ½Π΅Π΅. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² Pygame ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΏΡΠ°ΠΉΡΡ β ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈΠ³ΡΠΎΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Group, GroupSingle ΠΈ RenderUpdates ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π±ΡΡΡΡΠΎ, ΠΏΡΠΎΡΡΠΎ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡ ΠΈΠ³ΡΠΎΠ²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΈΠ·ΡΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ SQL ΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ .
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΡΡΠΈΡΠ΅Π»Ρ
- ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ, ΡΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°, ΠΎΠ½Π»Π°ΠΉΠ½ IDE
- ΠΡΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Python Ρ Π½ΡΠ»Ρ β ΠΊΠ½ΠΈΠ³ΠΈ, ΡΠ°ΠΉΡΡ, ΠΊΠ°Π½Π°Π»Ρ ΠΈ ΠΊΡΡΡΡ
- Π’ΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ : ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
- ΠΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ
- ΠΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ ΠΈ ΡΠΏΠΈΡΠΊΠΎΠ²ΡΠΌΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ
- ΠΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠ»ΠΎΠ²Π°ΡΡΠΌΠΈ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ
- ΠΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΡΡΠ΅ΠΆΠ°ΠΌΠΈ
- ΠΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°ΠΌΠΈ
- ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠΈΠΊΠ»Π° for
- Π£ΡΠ»ΠΎΠ²Π½ΡΠΉ ΡΠΈΠΊΠ» while
- Π€ΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ
- ΠΠ½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
- Π Π΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
- Π€ΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°, Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ ΠΈ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΡ
- ΠΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ
- Π Π΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
- ΠΡΠ½ΠΎΠ²Ρ ΡΠΊΡΠ°ΠΏΠΈΠ½Π³Π° ΠΈ ΠΏΠ°ΡΡΠΈΠ½Π³Π°
- ΠΡΠ½ΠΎΠ²Ρ ΠΠΠ: ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΡΠ½ΠΎΠ²Ρ ΠΠΠ: Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ
- ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° Tkinter
- ΠΡΠ½ΠΎΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ³Ρ Π½Π° Pygame
- ΠΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Ρ SQLite
- ΠΡΠ½ΠΎΠ²Ρ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Flask
- ΠΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Ρ NumPy
- ΠΡΠ½ΠΎΠ²Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ
Ρ Pandas