π ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ½Π³ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅ - Π»Π΅Π³ΠΊΠΈΠΉ Π³Π°ΠΉΠ΄ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ³ΡΡ "ΠΏΠΎΠ½Π³" Π½Π° ΠΏΠΈΡΠΎΠ½Π΅ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Pygame. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈΠ³ΡΡ:
import pygame
# ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠΊΠ½Π° ΠΈΠ³ΡΡ
pygame.init()
width, height = 800, 400
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("ΠΠΎΠ½Π³")
# ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ²
bg_color = pygame.Color("black")
object_color = pygame.Color("white")
# ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
ball = pygame.Rect(width // 2 - 15, height // 2 - 15, 30, 30)
player = pygame.Rect(width - 20, height // 2 - 60, 10, 120)
opponent = pygame.Rect(10, height // 2 - 60, 10, 120)
# ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΌΡΡΠ°
ball_speed_x = 3
ball_speed_y = 3
# ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
# ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΌΡΡΠ°
ball.x += ball_speed_x
ball.y += ball_speed_y
# ΠΡΡΠΊΠΎΠΊ ΠΌΡΡΠ° ΠΎΡ ΡΡΠ΅Π½
if ball.top <= 0 or ball.bottom >= height:
ball_speed_y *= -1
if ball.left <= 0 or ball.right >= width:
ball_speed_x *= -1
# ΠΡΡΠΊΠΎΠΊ ΠΌΡΡΠ° ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ
if ball.colliderect(player) or ball.colliderect(opponent):
ball_speed_x *= -1
# ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π°
screen.fill(bg_color)
pygame.draw.ellipse(screen, object_color, ball)
pygame.draw.rect(screen, object_color, player)
pygame.draw.rect(screen, object_color, opponent)
pygame.draw.aaline(screen, object_color, (width // 2, 0), (width // 2, height))
pygame.display.flip()
pygame.time.Clock().tick(60)
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ½Π³ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅
ΠΡΠΈΠ²Π΅Ρ! Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΡΠ΅Π±Π΅, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ³ΡΡ Β«ΠΠΎΠ½Π³Β» Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python. ΠΠ°Π²Π°ΠΉ Π½Π°ΡΠ½Π΅ΠΌ!
1. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° Pygame
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ³ΡΡ Β«ΠΠΎΠ½Π³Β», Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ Pygame. Pygame β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ³Ρ Π½Π° Python, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ, Π·Π²ΡΠΊΠΎΠΌ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ Pygame ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅:
pip install pygame
2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° Π΄Π»Ρ ΠΈΠ³ΡΡ
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠ½Π° Π΄Π»Ρ ΠΈΠ³ΡΡ. ΠΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠΊΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 800 Π½Π° 400 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ:
import pygame
# ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Pygame
pygame.init()
# Π Π°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π°
width = 800
height = 400
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("ΠΠΎΠ½Π³")
# ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π°
pygame.display.flip()
# ΠΡΡ
ΠΎΠ΄ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
pygame.quit()
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Pygame Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠ½Π° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 800 Π½Π° 400 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ "ΠΠΎΠ½Π³". ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠΊΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ pygame.display.flip().
3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ ΠΌΡΡΠ°
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ ΠΌΡΡ Π΄Π»Ρ ΠΈΠ³ΡΡ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import pygame
# ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Pygame
pygame.init()
# Π Π°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π°
width = 800
height = 400
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("ΠΠΎΠ½Π³")
# Π¦Π²Π΅ΡΠ°
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
# Π Π°Π·ΠΌΠ΅ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ
paddle_width = 15
paddle_height = 60
# ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ
player_x = 10
player_y = height // 2 - paddle_height // 2
opponent_x = width - 25 - paddle_width
opponent_y = height // 2 - paddle_height // 2
# Π Π°Π·ΠΌΠ΅ΡΡ ΠΌΡΡΠ°
ball_width = 15
ball_height = 15
# ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΌΡΡΠ°
ball_x = width // 2 - ball_width // 2
ball_y = height // 2 - ball_height // 2
# ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# ΠΠ°Π»ΠΈΠ²ΠΊΠ° ΠΎΠΊΠ½Π° ΡΠ΅ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ
screen.fill(BLACK)
# ΠΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ ΠΌΡΡΠ°
pygame.draw.rect(screen, WHITE, (player_x, player_y, paddle_width, paddle_height))
pygame.draw.rect(screen, WHITE, (opponent_x, opponent_y, paddle_width, paddle_height))
pygame.draw.ellipse(screen, WHITE, (ball_x, ball_y, ball_width, ball_height))
# ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π°
pygame.display.flip()
# ΠΡΡ
ΠΎΠ΄ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
pygame.quit()
Π ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ ΠΌΡΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΎΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ ΠΌΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ pygame.draw.rect() Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ pygame.draw.ellipse() Π΄Π»Ρ ΠΌΡΡΠ°.
4. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ, Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°ΠΌ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ ΠΈΠ³ΡΠΎΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΡ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅:
import pygame
# ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Pygame
pygame.init()
# Π Π°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π° ΠΈ ΠΏΡΠΎΡΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ...
# ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ ΠΈΠ³ΡΠΎΠΊΠ°
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP:
player_y -= 5
elif event.key == pygame.K_DOWN:
player_y += 5
# ΠΠ°Π»ΠΈΠ²ΠΊΠ° ΠΎΠΊΠ½Π° ΡΠ΅ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²...
# ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π°
pygame.display.flip()
# ΠΡΡ
ΠΎΠ΄ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
pygame.quit()
Π ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°. ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π²Π²Π΅ΡΡ ΠΌΡ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΠΌ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈΠ³ΡΠΎΠΊΠ°, Π° ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π²Π½ΠΈΠ· β ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΡ pygame.QUIT Π΄Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°ΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ ΠΈΠ³ΡΡ.
5. ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΌΡΡΠ°
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΌΡΡΠ°. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΌΡΡΡ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ:
import pygame
# ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Pygame ΠΈ ΠΏΡΠΎΡΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ...
# Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΌΡΡΠ°
ball_dx = 2
ball_dy = 2
# ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΌΡΡΠ°
ball_x += ball_dx
ball_y += ball_dy
# ΠΡΡΠΊΠΎΠΊ ΠΌΡΡΠ° ΠΎΡ ΡΡΠ΅Π½ΠΎΠΊ
if ball_x <= 0 or ball_x >= width - ball_width:
ball_dx *= -1
if ball_y <= 0 or ball_y >= height - ball_height:
ball_dy *= -1
# ΠΠ°Π»ΠΈΠ²ΠΊΠ° ΠΎΠΊΠ½Π° ΡΠ΅ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²...
# ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π°
pygame.display.flip()
# ΠΡΡ
ΠΎΠ΄ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
pygame.quit()
Π ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ball_dx ΠΈ ball_dy, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΌΡΡΠ° ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΌΡΡΠ° ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π½Π΅ Π΄ΠΎΡΡΠΈΠ³ Π»ΠΈ ΠΎΠ½ ΡΡΠ΅Π½ΠΎΠΊ ΠΎΠΊΠ½Π°. ΠΡΠ»ΠΈ Π΄ΠΎΡΡΠΈΠ³, ΠΌΠ΅Π½ΡΠ΅ΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΌΡΡΠ°.
6. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈΠ³ΡΡ
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π»ΠΎΠ³ΠΈΠΊΡ ΠΈΠ³ΡΡ Β«ΠΠΎΠ½Π³Β». ΠΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΊΠΎΠ³Π΄Π° ΠΈΠ³ΡΠΎΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΡΠΊΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠ΅ ΠΌΡΡΠ° ΠΈ Π²ΡΠ²Π΅Π΄Π΅ΠΌ ΡΡΠ΅Ρ Π½Π° ΡΠΊΡΠ°Π½. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import pygame
# ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Pygame ΠΈ ΠΏΡΠΎΡΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ...
# Π‘ΡΠ΅Ρ
player_score = 0
opponent_score = 0
# ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈΠ³ΡΠΎΠΊΠ° ΠΈ ΠΎΡΡΠ°Π»ΡΠ½Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ°...
# Π‘ΡΠ΅Ρ
if ball_x <= 0:
opponent_score += 1
elif ball_x >= width - ball_width:
player_score += 1
# ΠΠ°Π»ΠΈΠ²ΠΊΠ° ΠΎΠΊΠ½Π° ΡΠ΅ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²...
# ΠΡΠ²ΠΎΠ΄ ΡΡΠ΅ΡΠ° Π½Π° ΡΠΊΡΠ°Π½
font = pygame.font.Font(None, 36)
player_text = font.render(f"Player: {player_score}", True, WHITE)
opponent_text = font.render(f"Opponent: {opponent_score}", True, WHITE)
screen.blit(player_text, (width // 2 - 100, 10))
screen.blit(opponent_text, (width // 2 + 10, 10))
# ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π°
pygame.display.flip()
# ΠΡΡ
ΠΎΠ΄ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
pygame.quit()
Π ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ player_score ΠΈ opponent_score Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠ΅ΡΠ° ΠΈΠ³ΡΠΎΠΊΠΎΠ². ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ° ΠΌΡΡΠ° ΠΌΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΈΠ³ΡΠΎΠΊΠ°. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ pygame.font.Font() Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΡΠΈΡΡΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΡ screen.blit() Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΠ΅ΡΠ° Π½Π° ΡΠΊΡΠ°Π½.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ³ΡΡ Β«ΠΠΎΠ½Π³Β» Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python. ΠΡ ΠΈΠ·ΡΡΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΏΠ°ΠΊΠ΅ΡΠ° Pygame, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° Π΄Π»Ρ ΠΈΠ³ΡΡ, ΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ ΠΌΡΡΠ°, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ, Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΌΡΡΠ° ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈΠ³ΡΡ. Π’Π΅ΠΏΠ΅ΡΡ ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ Π·Π½Π°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΈΠ³ΡΡ Β«ΠΠΎΠ½Π³Β» ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ Π½Π°Π²ΡΠΊΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ!
Π£Π΄Π°ΡΠΈ!