Menu
CoddyTech

Et, ou

Fait partie de la section Python dans une fenêtre de jeu du Journey Pygame de Coddy. Leçon 13 sur 32.

or relie deux conditions et est vrai lorsqu’au moins l’une d’elles est vraie. and est vrai uniquement lorsque les deux le sont.

if keys[pygame.K_LEFT] or keys[pygame.K_a]:
    moon_x = moon_x - 4
if keys[pygame.K_RIGHT] and moon_x < 580:
    moon_x = moon_x + 4

Le premier if déplace la lune vers la gauche tant que la touche Gauche ou A est maintenue : l’une ou l’autre touche fonctionne. Le second la déplace vers la droite uniquement tant que la touche Droite est maintenue et que la lune se trouve à gauche de x 580, ce qui l’arrête avant le bord de la fenêtre.

not transforme True en False : not keys[pygame.K_LEFT] est vrai lorsque la touche Gauche est relâchée.

challenge icon

Défi

Moyen

Modifie les deux tests de touches :

  1. Maintenir A déplace aussi la lune vers la gauche, comme la flèche gauche. Utilise or.
  2. La flèche droite ne déplace la lune que tant que moon_x < 580, elle s’arrête donc à x 580. Utilise and.

Essayez vous-même

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()

# Préparez les éléments ici, avant la boucle de jeu.
moon_x = 320
moon_y = 240

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

    # Modifiez les éléments ici, une fois par image.
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        moon_x = moon_x - 4
    if keys[pygame.K_RIGHT]:
        moon_x = moon_x + 4

    screen.fill((20, 24, 48))
    # Dessinez ici, après le remplissage.
    pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)

    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Toutes les leçons de Python dans une fenêtre de jeu

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