Menu
CoddyTech

Rester à l’écran

Leçon 7 sur 40 du cours Créez des jeux avec Pygame de Coddy.

Maintenez la touche fléchée droite suffisamment longtemps et le carré sort de la fenêtre. Pour le garder à l’intérieur, limitez x et y après les avoir déplacés.

min(a, b) renvoie le plus petit nombre et max(a, b) le plus grand. Ensemble, ils maintiennent un nombre entre deux limites :

x = max(0, min(x, 480 - 40))

min(x, 440) empêche x de dépasser 440, et max(0, ...) l’empêche de descendre en dessous de 0. Pourquoi 440 et non 480 ? x est le côté gauche du carré, donc le côté droit se trouve à x + 40. À 440, le côté droit touche le bord de la fenêtre.

Il en va de même pour y, avec la hauteur de la fenêtre.

challenge icon

Défi

Facile

Après les quatre vérifications des flèches et avant le remplissage, garde le carré à l’intérieur de la fenêtre de 480 sur 360 : limite x de 0 à 440 et y de 0 à 320.

Essayez vous-même

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Move the Square")
clock = pygame.time.Clock()

x, y = 220, 160

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    keys = pygame.key.get_pressed()
    speed = 4
    if keys[pygame.K_SPACE]:
        speed = 8
    if keys[pygame.K_LEFT]:
        x -= speed
    if keys[pygame.K_RIGHT]:
        x += speed
    if keys[pygame.K_UP]:
        y -= speed
    if keys[pygame.K_DOWN]:
        y += speed

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (255, 196, 0), (x, y, 40, 40))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Créez des jeux avec Pygame

Entraînez-vous par vous-même : Playground Pygame