Menu
CoddyTech

Sprinter

Leçon 6 sur 41 du cours Créer des jeux avec Pygame de Coddy.

Une variable peut changer à chaque image, en fonction des actions du joueur. Ici, la vitesse dépend du fait que la barre d’espace soit maintenue enfoncée ou non.

keys = pygame.key.get_pressed()
speed = 4
if keys[pygame.K_SPACE]:
    speed = 8

Chaque image commence avec la vitesse normale, 4. Seule une image où la barre d’espace est enfoncée la fait passer à 8. Relâchez la barre d’espace et, à l’image suivante, la vitesse revient à 4.

Définissez d’abord la valeur normale, puis la valeur spéciale. Dans l’ordre inverse, la deuxième ligne l’emporte toujours et la barre d’espace ne fait rien.

challenge icon

Défi

Facile

Fais sprinter le joueur tant que la barre d’espace est maintenue enfoncée.

  1. Supprime speed = 4 au-dessus de la boucle.
  2. Dans la boucle, juste après keys = pygame.key.get_pressed(), définis speed = 4, puis définis sa valeur à 8 si la barre d’espace est maintenue enfoncée.

Appuie sur « Jouer » et maintiens la barre d’espace avec une flèche : le carré se déplace deux fois plus vite. Puis appuie sur « Vérifier ».

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
speed = 4

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

    keys = pygame.key.get_pressed()
    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()

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

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