Menu
CoddyTech

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.

challenge icon

Défi

Moyen

Modifie la boucle pour que la planète i :

  1. soit centrée en (70 + i * 100, 240), comme actuellement ;
  2. ait un rayon de 5 + i * 5, de 5 à 30 ;
  3. 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

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