не понимаю как сделать чтоб ракет не уходила за экран.
мне говорили что можно сделать через проверку координат , но не совсем понимаю как это реализовать
	
	
	
		
			
			мне говорили что можно сделать через проверку координат , но не совсем понимаю как это реализовать
		Python:
	
	import pygame
pygame.init()
import random
WIDTH = 1000
HEIGHT = 670
fps = 60
# Цвета
BLACK = "#000000"       # Черный
WHITE = "#FFFFFF"       # Белый
RED = "#FF0000"         # Красный
GREEN = "#008000"       # Зеленый
BLUE = "#0000FF"        # Синий
CYAN = "#00FFFF"        # Голубой
icon = pygame.image.load("media/icon.png")
pygame.display.set_icon(icon)
pygame.display.set_caption("Arkanoid")
screen = pygame.display.set_mode((WIDTH, HEIGHT))
smail = pygame.image.load("media/smile.png")
smail_rect = smail.get_rect()
smail_rect.center = (WIDTH // 2, HEIGHT // 2)
racket = pygame.image.load("media/racket.png")
racket_rect = racket.get_rect()
racket_rect.center = (WIDTH // 2, HEIGHT - 150)
speed_x = 5
speed_y = 5
timer = pygame.time.Clock()
run = True
while run:
    timer.tick(fps)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                run = False
    key = pygame.key.get_pressed()
    if key[pygame.K_RIGHT]:
        racket_rect.x += 10
    elif key[pygame.K_LEFT]:
        racket_rect.x -= 10
    smail_rect.x += speed_x
    smail_rect.y += speed_y
    if smail_rect.right >= WIDTH:
        speed_x = -5
    elif smail_rect.left <= 0:
        speed_x = 5
    if smail_rect.bottom >= HEIGHT:
        speed_y = - 5
    elif smail_rect.top <= 0:
        speed_y = 5
    collide = smail_rect.colliderect(racket_rect)
    if collide:
        speed_y = - 5
    screen.fill(CYAN)
    screen.blit(smail, smail_rect)
    screen.blit(racket, racket_rect)
    pygame.display.update()
pygame.quit()
	
			
				Последнее редактирование: