Hello,
Voici une base de jeu "space_shooter", je suis ouvert à toutes vos questions si besoin,
📦 Contenu de l'archive space_shooter.zip
L'archive contient le projet organisé selon l'architecture logicielle Domain-Driven Design (DDD). Elle est divisée en 4 répertoires fonctionnels et quelques fichiers à la racine :
1. Répertoire domain/ (Le cœur abstrait)
Ce dossier contient les règles fondamentales du jeu, sans aucune dépendance visuelle (zéro Pygame).
- models.py : Définit les mathématiques (Vecteurs) et la structure pure des entités (Joueur, Ennemis, Missiles, Explosions). Gère les coordonnées, la vitesse, les points de vie et le calcul mathématique des collisions.
2. Répertoire application/ (L'orchestrateur)
Ce dossier pilote la logique et le déroulement d'une partie.
- game.py : Pilote le jeu ("Game State"). Il manipule les objets du domaine pour gérer l'apparition des ennemis, la mort du joueur, la mise à jour du score et la détection globale des collisions à chaque tour de boucle.
3. Répertoire infrastructure/ (Le lien avec le matériel)
Ce dossier est le seul autorisé à parler avec Pygame, l'écran et le clavier.
- pygame_impl.py : Contient l'adaptateur clavier (PygameInputAdapter) pour capter les touches, et le moteur de rendu (PygameRenderer) pour dessiner des images par-dessus les coordonnées abstraites des entités mathématiques.
4. Répertoire assets/ (Les ressources graphiques)
Ce dossier contient tous les fichiers .png nécessaires au jeu.
- Contient : player.png, les ennemis (enemy_1.png...), les tirs (laser.png, missile.png...), l'objet bonus (powerup.png) et les images de l'explosion (explosion_1.png...).
5. Fichiers à la racine
Les fichiers de lancement, de configuration et d'aide.
- main.py : Le point d'entrée exécutable. Il assemble les 3 couches ci-dessus et lance la boucle de temps infinie (à 60 images par seconde).
- settings.py : Les variables de configuration de base (dimensions de la fenêtre, framerate).
- assets.py : Un petit module utilitaire chargé de stocker les images en cache mémoire pour de meilleures performances.
- README.md : La notice détaillée du projet (prérequis, installation, architecture).
- requirements.txt : Le fichier stipulant que Pygame est requis pour faire tourner l'application.
- preview.png : Une simple image d'illustration pour le README.
C'est une base de démarrage pour la création du jeu, si certains souhaitent continuer sur le sujet c'est avec plaisir (je déteste dev des jeux, c'est pas mon métier !)
Merci par avance pour vos remarques...






Répondre avec citation



Partager