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
Dernière version 2.1.3 (2022)
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].

Exemple[modifier | modifier le code]

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.

Code[modifier | modifier le 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'é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()

Bibliographie[modifier | modifier le code]

  • Benoît Prieur, Pygame - Initiez-vous au développement de jeux vidéo en Python (2e édition), Éditions ENI, , 265 p. (ISBN 978-2-409-03907-2)Voir et modifier les données sur Wikidata
  • 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)Voir et modifier les données sur Wikidata

Références[modifier | modifier le code]

  1. (en) Tom Nardi, « PyGame Celebrates 20 Years By Releasing PyGame 2.0 », sur Hackaday, (consulté le )

Liens externes[modifier | modifier le code]

Sur les autres projets Wikimedia :