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.
Défi
FacileAprè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()
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