Skip to content

Repository files navigation

🚀 Space Defender

Un mini shoot'em up vertical en Python / pygame, avec power-ups, boss et sons synthétisés à la volée (zéro fichier audio, zéro dépendance en plus de pygame).

Python pygame License Download

⬇️ Télécharger et jouer (Windows)

Aucune installation requise — un simple double-clic suffit.

  1. Va sur la page Releases
  2. Télécharge SpaceDefender.exe
  3. Double-clique sur le fichier — le jeu se lance instantanément ✅

⚠️ Windows Defender peut afficher un avertissement "application inconnue" car l'exe n'est pas signé. Clique sur "Informations complémentaires" → "Exécuter quand même" pour jouer.

📸 Aperçu

Menu En jeu Pause Game Over
Menu Jeu Pause Game Over

🎮 Contrôles

Touche Action
Flèches / ZQSD/WASD Déplacer le vaisseau
Espace Tirer
P Pause
Entrée Démarrer (menu)
R Rejouer (Game Over)
Échap Quitter

✨ Fonctionnalités

  • Ennemis normaux, en zigzag, et « tireurs » qui ripostent
  • Boss avec barre de vie dynamique (vert → orange → rouge) tous les 300 points
  • Boss de niveau 3+ avec patterns de tir en éventail diagonal
  • Power-ups à ramasser : tir rapide, tir en éventail, bouclier, vie bonus
  • Fond étoilé en parallaxe (3 couches de vitesse et de luminosité)
  • Particules d'explosion + léger screen shake
  • Sons rétro générés en direct (aucun fichier .wav/.mp3 à gérer)
  • Meilleur score sauvegardé localement (highscore.txt)
  • Menu, pause, écran de game over

🛠️ Installation

pip install pygame

▶️ Lancer le jeu

python main.py

📁 Structure du projet

space_defender/
├── main.py           # boucle de jeu / machine à états
├── settings.py        # constantes (vitesses, couleurs, tailles…)
├── sound.py            # génération de sons 8-bit sans dépendance externe
├── starfield.py         # fond étoilé animé (parallaxe 3 couches)
├── particles.py          # système de particules / explosions / screen shake
├── highscore.py           # sauvegarde/chargement du meilleur score
└── entities/
    ├── player.py           # vaisseau joueur
    ├── bullet.py             # tirs joueur/ennemi (supporte directions custom)
    ├── enemy.py                # ennemis (normal, zigzag, tireur)
    ├── boss.py                   # boss multi-patterns par niveau
    └── powerup.py                  # bonus ramassables

💡 Idées d'amélioration futures

  • Niveaux de difficulté sélectionnables au menu
  • Musique de fond (boucle synthétisée)
  • Tableau des meilleurs scores (top 5) au lieu d'un simple record
  • Effets visuels de warp/hyperespace entre les niveaux

Fait pour le fun en Python 🐍

About

Jeu shoot'em up vertical avec boss, power-ups et sons synthétisés en temps réel — zéro asset audio externe.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages