Menu
CoddyTech

Votre propre fonction

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

Une fonction est un groupe de lignes nommé que tu peux exécuter quand tu le souhaites. def permet d’en créer une :

def draw_star():
    pygame.draw.line(screen, (255, 240, 200), (310, 240), (330, 240), 2)
    pygame.draw.line(screen, (255, 240, 200), (320, 230), (320, 250), 2)
    pygame.draw.circle(screen, (255, 240, 200), (320, 240), 4)

def, le nom, des parenthèses et deux-points ; le corps est indenté en dessous. Définir une fonction ne dessine rien : Python mémorise simplement les lignes sous le nom de la fonction.

Pour les exécuter, appelle la fonction : écris son nom suivi de parenthèses.

draw_star()

Définis les fonctions dans la partie de configuration, avant la boucle de jeu, et appelle-les dans la boucle là où tu en as besoin. Tu appelles des fonctions depuis la première leçon : print() et pygame.draw.circle() sont aussi des fonctions, écrites par d’autres.

pygame.draw.line(screen, colour, start, end, width) dessine une ligne entre deux points.

challenge icon

Défi

Moyen

Place l’étoile dans une fonction :

  1. Dans la partie de configuration, crée def draw_star(): et déplace les trois lignes de l’étoile dans son corps.
  2. Dans la partie de dessin, appelle draw_star(). L’étoile apparaît en (320, 240) comme avant.

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.line(screen, (255, 240, 200), (310, 240), (330, 240), 2)
    pygame.draw.line(screen, (255, 240, 200), (320, 230), (320, 250), 2)
    pygame.draw.circle(screen, (255, 240, 200), (320, 240), 4)

    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