Zelda Nes en python (défi final)
Completion requirements
6. Debug.py
Ce code définit une fonction de débogage pour afficher des informations à l'écran dans un jeu Pygame. Voici une explication détaillée du code :
-
Imports :
python
-
import pygame import ospygameest la bibliothèque de jeu utilisée.osest utilisé pour effectuer des opérations liées au système d'exploitation, notamment le changement du répertoire de travail.
-
Changement du répertoire de travail :
python -
os.chdir(os.path.dirname(os.path.abspath(__file__)))- Comme dans les exemples précédents, cela change le répertoire de travail actuel pour le répertoire du script en cours d'exécution.
-
Initialisation de Pygame et création d'une police :
python -
pygame.init() font = pygame.font.Font(None, 30)pygame.init()initialise la bibliothèque Pygame.pygame.font.Font(None, 30)crée un objet police Pygame avec une taille de police de 30 pixels. La police est utilisée pour rendre le texte lors du débogage.
-
Fonction de débogage (
debug) :python
-
def debug(info, y=10, x=10): display_surface = pygame.display.get_surface() debug_surf = font.render(str(info), True, "White") debug_rect = debug_surf.get_rect(topleft=(x, y)) pygame.draw.rect(display_surface, "Black", debug_rect) display_surface.blit(debug_surf, debug_rect)- La fonction
debugprend trois paramètres :info: L'information à afficher (peut être n'importe quel type, car elle est convertie en chaîne avecstr(info)).y: La position verticale du coin supérieur gauche du texte (par défaut à 10 pixels depuis le haut de la fenêtre).x: La position horizontale du coin supérieur gauche du texte (par défaut à 10 pixels depuis la gauche de la fenêtre).
- La fonction utilise la surface d'affichage actuelle de Pygame (
pygame.display.get_surface()). - Elle crée une surface de texte (
debug_surf) à partir de l'information fournie, avec une couleur blanche. - Un rectangle (
debug_rect) est créé pour délimiter la zone où le texte sera affiché, avec la position spécifiée par les paramètresxety. - Ce rectangle est rempli avec une couleur noire (
"Black") à l'aide depygame.draw.rect(). - Enfin, la surface de texte est blittée (copiée) sur la surface d'affichage à la position définie par le rectangle.
- La fonction
Cette fonction est utile pour afficher des informations de débogage à l'écran pendant le développement du jeu. Elle peut être appelée à différents endroits du code pour afficher des variables, des états ou d'autres informations importantes.