π ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΈΠ½Π³-ΠΏΠΎΠ½Π³ Π½Π° Python: ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΈΠ½ΠΏΠΎΠ½Π³Π° Π½Π° ΡΠ·ΡΠΊΠ΅ Python Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ pygame ΠΈ random. ΠΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import pygame
# ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΊΡΠ°Π½Π°
pygame.init()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ²Π΅ΡΠΎΠ²
bg_color = pygame.Color('black')
fg_color = pygame.Color('white')
# ΠΠ°Π΄Π°Π½ΠΈΠ΅ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ
ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠ°ΠΊΠ΅ΡΠΊΠΈ ΠΈ ΠΌΡΡΠ°
racket_width, racket_height = 20, 80
racket_x, racket_y = 10, height // 2 - racket_height // 2
ball_size = 10
ball_x, ball_y = width // 2 - ball_size // 2, height // 2 - ball_size // 2
# ΠΠ°Π΄Π°Π½ΠΈΠ΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΌΡΡΠ°
ball_speed_x = 3
ball_speed_y = 3
clock = pygame.time.Clock()
game_over = False
while not game_over:
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
# ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠ΅ΡΠΊΠΈ Π²Π²Π΅ΡΡ
ΠΈ Π²Π½ΠΈΠ· Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΡ 'W' ΠΈ 'S'
keys = pygame.key.get_pressed()
if keys[pygame.K_w] and racket_y > 0:
racket_y -= 5
if keys[pygame.K_s] and racket_y < height - racket_height:
racket_y += 5
# ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΌΡΡΠ°
ball_x += ball_speed_x
ball_y += ball_speed_y
# ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ ΠΌΡΡΠ° Ρ ΡΠ°ΠΊΠ΅ΡΠΊΠΎΠΉ
if ball_x <= racket_x + racket_width and \
racket_y <= ball_y <= racket_y + racket_height:
ball_speed_x = -ball_speed_x
# ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ ΠΌΡΡΠ° ΡΠΎ ΡΡΠ΅Π½ΠΊΠ°ΠΌΠΈ
if ball_x <= 0 or ball_x >= width - ball_size:
ball_speed_x = -ball_speed_x
if ball_y <= 0 or ball_y >= height - ball_size:
ball_speed_y = -ball_speed_y
# ΠΡΠΈΡΡΠΊΠ° ΡΠΊΡΠ°Π½Π°
screen.fill(bg_color)
# ΠΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ°ΠΊΠ΅ΡΠΊΠΈ ΠΈ ΠΌΡΡΠ°
pygame.draw.rect(screen, fg_color, (racket_x, racket_y, racket_width, racket_height))
pygame.draw.ellipse(screen, fg_color, (ball_x, ball_y, ball_size, ball_size))
# ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π°
pygame.display.flip()
# ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠ°Π½Π°
clock.tick(60)
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ pygame Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠ½Π° ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ. Π Π°ΠΊΠ΅ΡΠΊΠ° ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΡ 'W' ΠΈ 'S', ΠΈ ΠΌΡΡ ΠΎΡΡΠΊΠ°ΠΊΠΈΠ²Π°Π΅Ρ ΠΎΡ ΡΠ°ΠΊΠ΅ΡΠΊΠΈ ΠΈ ΡΡΠ΅Π½ΠΎΠΊ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΈΠ½ΠΏΠΎΠ½Π³ Π½Π° Python
ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ Π² ΠΌΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ³Ρ Π½Π° ΡΠ·ΡΠΊΠ΅ Python! Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΡΡ ΠΈΠ³ΡΡ ΠΏΠΈΠ½ΠΏΠΎΠ½Π³.
Π¨Π°Π³ 1: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Pygame
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Pygame. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
pip install pygame
Pygame - ΡΡΠΎ ΠΌΠΎΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ³Ρ Π½Π° Python. ΠΠ½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΌ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΈΠ½ΠΏΠΎΠ½Π³Π°.
Π¨Π°Π³ 2: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° Π΄Π»Ρ ΠΈΠ³ΡΡ
ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΠΈΠ½ΠΏΠΎΠ½Π³Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Pygame Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ³ΡΠΎΠ²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
import pygame
# ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Pygame
pygame.init()
# ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΎΠΊΠ½Π°
ΡΠΈΡΠΈΠ½Π° = 800
Π²ΡΡΠΎΡΠ° = 400
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°
ΠΎΠΊΠ½ΠΎ = pygame.display.set_mode((ΡΠΈΡΠΈΠ½Π°, Π²ΡΡΠΎΡΠ°))
pygame.display.set_caption("ΠΠΈΠ½ΠΏΠΎΠ½Π³")
# ΠΠ»Π°Π²Π½ΡΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»
while True:
# ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ
for ΡΠΎΠ±ΡΡΠΈΠ΅ in pygame.event.get():
if ΡΠΎΠ±ΡΡΠΈΠ΅.type == pygame.QUIT:
pygame.quit()
sys.exit()
# ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π°
pygame.display.update()
ΠΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠΊΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 800x400 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ "ΠΠΈΠ½ΠΏΠΎΠ½Π³". ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π³Π»Π°Π²Π½ΡΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΠΊΡΠ°Π½. Π Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠΊΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΡΡΡΠΌ.
Π¨Π°Π³ 3: ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΈΠ³ΡΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΡΡ ΠΈ ΡΠ°ΠΊΠ΅ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π°ΡΡ ΠΈΠ³ΡΡ ΠΏΠΈΠ½ΠΏΠΎΠ½Π³Π° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠΉ.
# ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ²
Π±Π΅Π»ΡΠΉ = (255, 255, 255)
ΡΠ΅ΡΠ½ΡΠΉ = (0, 0, 0)
# ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
ΠΌΡΡ_ΡΠ°Π·ΠΌΠ΅Ρ = 20
ΠΌΡΡ_ΡΠΊΠΎΡΠΎΡΡΡ_x = 3
ΠΌΡΡ_ΡΠΊΠΎΡΠΎΡΡΡ_y = 3
ΠΌΡΡ_x = ΡΠΈΡΠΈΠ½Π° // 2 - ΠΌΡΡ_ΡΠ°Π·ΠΌΠ΅Ρ // 2
ΠΌΡΡ_y = Π²ΡΡΠΎΡΠ° // 2 - ΠΌΡΡ_ΡΠ°Π·ΠΌΠ΅Ρ // 2
ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_ΡΠΈΡΠΈΠ½Π° = 10
ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_Π²ΡΡΠΎΡΠ° = 60
Π»Π΅Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_x = 50
Π»Π΅Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_y = Π²ΡΡΠΎΡΠ° // 2 - ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_Π²ΡΡΠΎΡΠ° // 2
ΠΏΡΠ°Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_x = ΡΠΈΡΠΈΠ½Π° - 50 - ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_ΡΠΈΡΠΈΠ½Π°
ΠΏΡΠ°Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_y = Π²ΡΡΠΎΡΠ° // 2 - ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_Π²ΡΡΠΎΡΠ° // 2
# ΠΠ»Π°Π²Π½ΡΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»
while True:
# ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ
for ΡΠΎΠ±ΡΡΠΈΠ΅ in pygame.event.get():
if ΡΠΎΠ±ΡΡΠΈΠ΅.type == pygame.QUIT:
pygame.quit()
sys.exit()
# ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π°
pygame.display.update()
# Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
ΠΎΠΊΠ½ΠΎ.fill(ΡΠ΅ΡΠ½ΡΠΉ)
pygame.draw.rect(ΠΎΠΊΠ½ΠΎ, Π±Π΅Π»ΡΠΉ, (Π»Π΅Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_x, Π»Π΅Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_y, ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_ΡΠΈΡΠΈΠ½Π°, ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_Π²ΡΡΠΎΡΠ°))
pygame.draw.rect(ΠΎΠΊΠ½ΠΎ, Π±Π΅Π»ΡΠΉ, (ΠΏΡΠ°Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_x, ΠΏΡΠ°Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_y, ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_ΡΠΈΡΠΈΠ½Π°, ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_Π²ΡΡΠΎΡΠ°))
pygame.draw.ellipse(ΠΎΠΊΠ½ΠΎ, Π±Π΅Π»ΡΠΉ, (ΠΌΡΡ_x, ΠΌΡΡ_y, ΠΌΡΡ_ΡΠ°Π·ΠΌΠ΅Ρ, ΠΌΡΡ_ΡΠ°Π·ΠΌΠ΅Ρ))
ΠΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΈΠ³ΡΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π»Π΅Π²Π°Ρ ΠΈ ΠΏΡΠ°Π²Π°Ρ ΡΠ°ΠΊΠ΅ΡΠΊΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΡΡΠΈΠΊ. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠΊΡΠ°Π½ ΠΈ ΡΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π°.
Π¨Π°Π³ 4: ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
Π§ΡΠΎΠ±Ρ Π½Π°Ρ ΠΏΠΈΠ½ΠΏΠΎΠ½Π³ Π±ΡΠ» ΠΈΠ³ΡΠ°Π±Π΅Π»ΡΠ½ΡΠΌ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΌΡΡΠΈΠΊΠ° ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ°ΠΊΠ΅ΡΠΊΠ°ΠΌΠΈ.
# ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΌΡΡΠΈΠΊΠ°
ΠΌΡΡ_x += ΠΌΡΡ_ΡΠΊΠΎΡΠΎΡΡΡ_x
ΠΌΡΡ_y += ΠΌΡΡ_ΡΠΊΠΎΡΠΎΡΡΡ_y
# ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΌΡΡΠΈΠΊΠ° Ρ ΠΊΡΠ°ΡΠΌΠΈ ΠΎΠΊΠ½Π°
if ΠΌΡΡ_x <= 0 or ΠΌΡΡ_x >= ΡΠΈΡΠΈΠ½Π° - ΠΌΡΡ_ΡΠ°Π·ΠΌΠ΅Ρ:
ΠΌΡΡ_ΡΠΊΠΎΡΠΎΡΡΡ_x *= -1
if ΠΌΡΡ_y <= 0 or ΠΌΡΡ_y >= Π²ΡΡΠΎΡΠ° - ΠΌΡΡ_ΡΠ°Π·ΠΌΠ΅Ρ:
ΠΌΡΡ_ΡΠΊΠΎΡΠΎΡΡΡ_y *= -1
# Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠ΅ΡΠΊΠ°ΠΌΠΈ
ΠΊΠ»Π°Π²ΠΈΡΠΈ = pygame.key.get_pressed()
if ΠΊΠ»Π°Π²ΠΈΡΠΈ[pygame.K_w]:
Π»Π΅Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_y -= 5
if ΠΊΠ»Π°Π²ΠΈΡΠΈ[pygame.K_s]:
Π»Π΅Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_y += 5
if ΠΊΠ»Π°Π²ΠΈΡΠΈ[pygame.K_UP]:
ΠΏΡΠ°Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_y -= 5
if ΠΊΠ»Π°Π²ΠΈΡΠΈ[pygame.K_DOWN]:
ΠΏΡΠ°Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_y += 5
ΠΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΌΡΡΠΈΠΊΠ° ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ°ΠΊΠ΅ΡΠΊΠ°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΡ WASD ΠΈ ΡΡΡΠ΅Π»ΠΎΠΊ Π²Π²Π΅ΡΡ /Π²Π½ΠΈΠ·. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΌΡΡΠΈΠΊΠ° Ρ ΠΊΡΠ°ΡΠΌΠΈ ΠΎΠΊΠ½Π° ΠΈ ΠΎΡΡΠ°Π·ΠΈΠΌ Π΅Π³ΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ.
Π¨Π°Π³ 5: ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ³ΡΡ
ΠΠ°Ρ ΠΏΠΈΠ½ΠΏΠΎΠ½Π³ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΠΈΠ³ΡΠΎΠΉ, Π½ΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π»ΠΎΠ³ΠΈΠΊΡ, ΡΡΠΎΠ±Ρ ΠΈΠ³ΡΠ° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π»Π°ΡΡ ΠΏΡΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΎΡΠΊΠΎΠ² ΠΈΠ»ΠΈ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ Esc. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΠ° ΠΈ Π·Π²ΡΠΊΠΎΠ²ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ ΠΊ Π²Π°ΡΠ΅ΠΉ ΠΈΠ³ΡΠ΅.
# ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈΠ³ΡΡ
if Π»Π΅Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_y <= 0:
Π»Π΅Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_y = 0
if Π»Π΅Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_y >= Π²ΡΡΠΎΡΠ° - ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_Π²ΡΡΠΎΡΠ°:
Π»Π΅Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_y = Π²ΡΡΠΎΡΠ° - ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_Π²ΡΡΠΎΡΠ°
if ΠΏΡΠ°Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_y <= 0:
ΠΏΡΠ°Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_y = 0
if ΠΏΡΠ°Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_y >= Π²ΡΡΠΎΡΠ° - ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_Π²ΡΡΠΎΡΠ°:
ΠΏΡΠ°Π²Π°Ρ_ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_y = Π²ΡΡΠΎΡΠ° - ΡΠ΅ΠΊΠ΅ΡΠΊΠ°_Π²ΡΡΠΎΡΠ°
# ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈΠ³ΡΡ
if ΠΌΡΡ_x <= 0 or ΠΌΡΡ_x >= ΡΠΈΡΠΈΠ½Π° - ΠΌΡΡ_ΡΠ°Π·ΠΌΠ΅Ρ:
pygame.quit()
sys.exit()
# ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈΠ³ΡΡ
if ΠΊΠ»Π°Π²ΠΈΡΠΈ[pygame.K_ESCAPE]:
pygame.quit()
sys.exit()
ΠΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠ΅ΡΠΎΠΊ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΠΊΠ½Π° ΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΠΈΠ³ΡΡ, Π΅ΡΠ»ΠΈ ΠΌΡΡΠΈΠΊ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π³ΡΠ°Π½ΠΈΡ ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ ΠΊΠ»Π°Π²ΠΈΡΡ Esc.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΠ·Π΄ΡΠ°Π²Π»ΡΡ! ΠΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΡΠΎΡΡΡΡ ΠΈΠ³ΡΡ ΠΏΠΈΠ½ΠΏΠΎΠ½Π³ Π½Π° ΡΠ·ΡΠΊΠ΅ Python Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Pygame. ΠΠ°ΠΌ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠΏΡΠΈΠΈ, Π·Π²ΡΠΊΠΎΠ²ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ ΠΈ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΈΠ³ΡΠ΅.
ΠΠ°Π΄Π΅ΡΡΡ, Π²Π°ΠΌ Π±ΡΠ»ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΡ ΠΈΠ³ΡΡ ΠΈ Π²Ρ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΡΡΠΎ-ΡΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΠ³Ρ Π½Π° Python. Π£Π΄Π°ΡΠΈ Π² Π²Π°ΡΠΈΡ Π±ΡΠ΄ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ !