A quoi ca sert
Pygame est une librairie pour creer des jeux video 2D en Python : afficher des images, jouer des sons, reagir au clavier, a la souris et a la manette.
Gratuite, ouverte, et utilisee depuis plus de 20 ans : une enorme communaute partage ses jeux sur pygame.org.
C'est le prolongement direct du jardin de turtle : on dessine a l'ecran, mais cette fois ca bouge en temps reel.
Un jeu, c'est cette boucle qui tourne sans arret : touche pressee ? on bouge le personnage, puis on redessine tout. L'oeil voit du mouvement fluide.
Une fenetre, une boucle, et un fond vert : voila deja un programme Pygame complet. Tout le reste (images, joueur, score) s'ajoute dans la boucle.
Un jeu Pygame a besoin d'un ecran pour ouvrir sa fenetre. Or Colab et StackBlitz n'ont pas d'ecran : ils ne savent qu'afficher du texte.
Resultat : pygame.display.set_mode() ne montre rien. C'est le meme piege que matplotlib dans StackBlitz.
La solution pour mettre un jeu Pygame en ligne s'appelle Pygbag.
Pygbag recompile ton jeu Pygame en WebAssembly : le langage que tous les navigateurs comprennent.
Le resultat est une simple page web. N'importe qui peut y jouer dans son navigateur, sur ordi ou sur telephone, sans rien installer.
Et comme c'est une page autonome, on peut la publier sur son propre site.
main.py, ajouter import asyncio, mettre la boucle dans async def main() avec await asyncio.sleep(0).pygbag main.py, qui teste deja le jeu dans le navigateur en local.Note : pygbag lui-meme s'installe avec pip install pygbag. C'est jouer au jeu fini qui ne demande aucune installation.
Les jeux montres dans la galerie sont l'oeuvre de leurs auteurs, partages publiquement sur pygame.org. Merci a eux pour l'inspiration.