Menu
CoddyTech

Début, fin et pas

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

range prend jusqu’à trois nombres : range(start, stop, step).

  • range(5) : 0, 1, 2, 3, 4
  • range(2, 6) : 2, 3, 4, 5
  • range(60, 200, 40) : 60, 100, 140, 180

Il commence à la valeur de départ, ajoute le pas à chaque fois et s’arrête avant d’atteindre la valeur d’arrêt. La valeur d’arrêt elle-même ne fait jamais partie de la plage.

Avec une valeur de départ et un pas, la variable de boucle peut être directement la position, sans avoir besoin d’une somme :

for x in range(60, 600, 40):
    pygame.draw.circle(screen, (255, 160, 60), (x, 420), 8)

Pour terminer une rangée à 580, la valeur d’arrêt doit être supérieure : range(60, 580, 40) se termine à 540. Un pas peut être négatif pour compter à rebours : range(10, 0, -2) donne 10, 8, 6, 4, 2.

challenge icon

Défi

Facile

Sous les étoiles, dessine une rangée de lanternes avec une boucle for :

  1. Cercles orange (255, 160, 60) de rayon 8 à y 420.
  2. x de 60 à 580, tous les 40 pixels : 14 lanternes.
  3. Utilise range avec un début, une limite et un pas, et remplace la lanterne unique.

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(8):
        pygame.draw.circle(screen, (255, 255, 255), (40 + i * 80, 80), 5)
    pygame.draw.circle(screen, (255, 160, 60), (60, 420), 8)

    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