Menu
CoddyTech

Une liste d’étoiles

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

Une liste contient plusieurs valeurs dans une seule variable, dans l’ordre, entre crochets :

stars = [(100, 80), (220, 160), (360, 100)]

Ici, chaque élément est un tuple de coordonnées. stars[0] est le premier élément, (100, 80), et stars[1] le deuxième. Le comptage commence à 0, comme avec range.

Une boucle for peut parcourir une liste. La variable de boucle prend chaque élément à tour de rôle :

for star in stars:
    pygame.draw.circle(screen, (255, 255, 255), star, 5)

Une position est un tuple, donc star va directement à l’endroit où se trouve le centre. Ajoute une position à la liste et une étoile supplémentaire apparaît, sans qu’il soit nécessaire de modifier la boucle. La liste est la mémoire du jeu de ce qui se trouve à l’écran ; la boucle dessine tout ce qu’elle contient.

challenge icon

Défi

Facile

Dessine un ciel avec cinq étoiles à partir d’une liste :

  1. Ajoute (360, 100), (480, 200) et (580, 70) à la fin de stars.
  2. Remplace la ligne qui dessine stars[0] par for star in stars:, en dessinant chacune sous la forme d’un cercle blanc (255, 255, 255) de rayon 5.

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 du jeu.
stars = [(100, 80), (220, 160)]

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.circle(screen, (255, 255, 255), stars[0], 5)

    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