Aller au contenu

Pygame

Un article de Wikipédia, l'encyclopédie libre.

Pygame
Description de l'image Pygame (2019) Logo.png.
Description de l'image Pygame - Hello World.png.
Informations
Développé par René Dudfield (d)Voir et modifier les données sur Wikidata
Dernière version 2.6.0 ()
Dépôt github.com/pygame/pygameVoir et modifier les données sur Wikidata
État du projet En développement actif
Écrit en C et PythonVoir et modifier les données sur Wikidata
Système d'exploitation Type Unix, Microsoft Windows et macOSVoir et modifier les données sur Wikidata
Environnement Multiplate-forme
Langues Anglais
Type API
Politique de distribution Gratuit
Licence GNU LGPL
Site web http://www.pygame.org

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.

Description

[modifier | modifier le code]

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.

Fin 2020, Pygame atteint sa version 2.0 après 20 ans de développement[1].

En 2023, à cause d'un problème interne[2], l'équipe de développement qui était aux côtés de René Dudfield (mainteneur actuel de Pygame), décide de se retirer pour créer pygame-ce[3], une version communautaire de pygame. Celle-ci offre plus de maintenance et fonctionnalités. Cette version s'appuie par ailleurs sur une méthode de gestion moins restreinte, avec un conseil de 3 membres élus par l'équipe de développement chaque année.

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.

# -*- 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'écran)
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

[modifier | modifier le code]
  1. (en) Tom Nardi, « PyGame Celebrates 20 Years By Releasing PyGame 2.0 », sur Hackaday, (consulté le )
  2. (en) « Message reddit de l'équipe de développement expliquant ce départ », (consulté le )
  3. (en) « Dépôt github du module pygame-ce » (consulté le )

Liens externes

[modifier | modifier le code]

Sur les autres projets Wikimedia :