Vrai ou faux
Fait partie de la section Python dans une fenêtre de jeu du Journey Pygame de Coddy. Leçon 14 sur 32.
True et False sont des valeurs à part entière, appelées booléens. Une variable peut en contenir une, comme un interrupteur :
lamp_on = FalseUn if peut la tester directement : if lamp_on: s’exécute lorsqu’elle vaut True. not inverse sa valeur, donc lamp_on = not lamp_on allume ou éteint la lampe.
Un interrupteur a besoin d’une pression sur une touche, pas d’une touche maintenue. get_pressed() vaut True à chaque image où la touche est enfoncée, ce qui ferait basculer la lampe 60 fois par seconde. Une pression est détectée une seule fois sous la forme d’un événement KEYDOWN, dans la boucle d’événements située au début de la boucle de jeu :
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
lamp_on = not lamp_onLa section 2 explique les événements en détail. Pour l’instant : event.type indique ce qui s’est passé et event.key, quelle touche a été pressée.
Défi
MoyenFais basculer la lampe avec la barre d’espace :
- Dans la partie d’initialisation, définis
lamp_on = False. - Dans la boucle d’événements, lorsqu’un événement
KEYDOWNpourK_SPACEarrive, définislamp_on = not lamp_on. - Dessine la lumière en
(320, 290), avec un rayon de 30 :(255, 220, 100)lorsquelamp_onest True, sinon(70, 70, 90).
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.
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.
screen.fill((20, 24, 48))
# Dessinez ici, après le remplissage.
pygame.draw.rect(screen, (90, 90, 110), (310, 300, 20, 180))
pygame.draw.circle(screen, (70, 70, 90), (320, 290), 30)
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 Python dans une fenêtre de jeu
1Votre première fenêtre
Votre premier programmeAfficher un messageLes couleurs en nombresDessiner la Lune3Si et touches
Passer de l’autre côté du bordLes touches déplacent la luneElif et ElseEt, ouVrai ou fauxEntraînez-vous par vous-même : Playground Pygame