Pygame
Pygame est une bibliothèque libre multiplate-forme qui facilite le développement de jeux vidéo temps réel avec le langage de programmation Python.
Dernière version | 2.0.1 (2021) |
---|---|
Dépôt | github.com/pygame/pygame |
État du projet | En développement actif |
Écrit en | C et Python |
Système d'exploitation | Type Unix, Microsoft Windows et macOS |
Environnement | Multiplate-forme |
Langues | Anglais |
Type | API |
Politique de distribution | Gratuit |
Licence | GNU LGPL |
Site web | http://www.pygame.org |
Elle est distribuée selon les termes de la licence GNU LGPL.
Construite sur la bibliothèque SDL, elle permet de programmer la partie multimédia (graphismes, son et entrées au clavier, à la souris ou au joystick), sans se heurter aux difficultés des langages de bas niveaux comme le C et ses dérivés. Cela se fonde sur la supposition que la partie multimédia, souvent la plus contraignante à programmer dans un tel jeu, est suffisamment indépendante de la logique même du jeu pour qu'on puisse utiliser un langage de haut niveau (en l'occurrence le Python) pour la structure du jeu.
Pygame, en plus d'adapter la SDL au Python, fournit également un petit nombre de fonctions spécifiques au développement de jeux.
On peut aussi remarquer que Pygame n'est plus utilisée exclusivement pour des jeux vidéo, mais également pour des applications diverses nécessitant du graphisme.
Exemple
Par exemple, pour programmer un casse-briques, la SDL sera utilisée par l'intermédiaire de Pygame pour afficher les briques, la raquette et la balle. Ainsi, le programmeur pourra se concentrer sur les calculs des rebonds, des coordonnées de la balle et des destructions de briques. Des méthodes intégrées à PyGame permettront aussi de gérer les collisions entre les balles et les briques.
Exemple de code
# -*- coding: utf-8 -*-
import pygame
from pygame.locals import *
pygame.display.init()
ecran = pygame.display.set_mode((640, 480)) #Crée la fenêtre de tracé
image = pygame.image.load("./pomme.png") #charge une image à partir d'un fichier
ecran.blit(image, (0,0)) #Colle l'image en haut à gauche de la fenêtre de tracé (ici, l'ecran)
pygame.display.flip() #L'affichage devient effectif : l'image est rendue visible.
loop = True
while loop: #Boucle d'événements
for event in pygame.event.get(): #parcours de la liste des événements
if(event.type==pygame.QUIT or (event.type==pygame.KEYDOWN and event.key==pygame.K_ESCAPE)): #interrompt la boucle si nécessaire
loop = False
pygame.quit()
Références
Bibliographie
- Benoît Prieur, Pygame - Initiez-vous au développement de jeux vidéo en Python, Éditions ENI, , 246 p. (ISBN 978-2-409-02168-8, OCLC 1141404901)
- Benoît Prieur, « Pygame : les principales notions à connaître pour développer vos jeux vidéo en Python », Programmez!, no 235, , p. 53-56 (ISSN 2729-5001, BNF 38522176)
Lien externe
- Portail du jeu vidéo
- Portail des logiciels libres
- Portail de la programmation informatique