Menu
CoddyTech

Place les étoiles

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

Les quatre dernières leçons permettent de créer un petit jeu, Night Sky : tu cliques pour placer des étoiles, elles scintillent, un compteur indique leur nombre et, à vingt, le ciel est plein. Chaque leçon reprend le code de la précédente.

Le jeu utilise ce que cette section t’a appris. Les étoiles sont une liste de positions, créée vide avant la boucle du jeu. Un clic ajoute sa position à la liste, et une boucle for dessine chaque étoile de la liste à chaque image :

stars = []

        if event.type == pygame.MOUSEBUTTONDOWN:
            stars.append(event.pos)

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

Dessine les étoiles après la lune et le sol, afin qu’elles apparaissent au premier plan. Une étoile placée sur la lune se trouve alors devant elle, comme si elle était plus proche.

challenge icon

Défi

Facile

Commencez Night Sky :

  1. Créez stars = [] avant la boucle de jeu.
  2. Lors d’un événement MOUSEBUTTONDOWN, ajoutez event.pos à stars.
  3. Après la lune et le sol, dessinez chaque étoile sous la forme d’un cercle blanc (255, 255, 255) de rayon 3.

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.

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, (240, 230, 160), (560, 80), 40)
    pygame.draw.rect(screen, (14, 16, 30), (0, 430, 640, 50))

    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