Utiliser la variable de boucle
Fait partie de la section Python dans une fenêtre de jeu du Journey Pygame de Coddy. Leçon 17 sur 32.
La variable de boucle est un nombre comme un autre : tu peux donc faire des opérations arithmétiques avec elle et modifier autre chose que la position. Ici, chaque planète est plus grande et plus jaune que la précédente :
for i in range(6):
x = 70 + i * 100
radius = 5 + i * 5
colour = (255, 80 + i * 30, 120)
pygame.draw.circle(screen, colour, (x, 240), radius)Déroule le calcul pour i = 2 : x vaut 270, le rayon 15, la couleur (255, 140, 120). Pour i = 5 : x vaut 570, le rayon 30, la couleur (255, 230, 120).
Les variables créées dans le corps de la boucle, comme x et radius, prennent de nouvelles valeurs à chaque passage. Nommer les éléments à l’avance permet de garder la ligne de dessin courte et claire.
Garde chaque valeur de couleur entre 0 et 255. Ici, la valeur maximale du vert est 80 + 5 * 30, soit 230 : elle est donc acceptable.
Défi
MoyenModifie la boucle pour que la planète i :
- soit centrée en
(70 + i * 100, 240), comme actuellement ; - ait un rayon de
5 + i * 5, de 5 à 30 ; - ait pour couleur
(255, 80 + i * 30, 120).
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.
for i in range(6):
pygame.draw.circle(screen, (255, 80, 120), (70 + i * 100, 240), 10)
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 Lune4Des boucles qui dessinent
Répéter avec forDébut, fin et pasUtiliser la variable de boucleUne boucle dans une boucleCompter avec whileEntraînez-vous par vous-même : Playground Pygame