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 + 4Le 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.
Défi
MoyenModifie les deux tests de touches :
- Maintenir A déplace aussi la lune vers la gauche, comme la flèche gauche. Utilise
or. - La flèche droite ne déplace la lune que tant que
moon_x < 580, elle s’arrête donc à x 580. Utiliseand.
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
1Votre première fenêtre
Votre premier programmeAfficher un messageLes couleurs en nombresDessiner la LuneEntraînez-vous par vous-même : Playground Pygame