Retour aux projets

Space Invaders

1 mois UBO - UFR Sciences et Techniques, Brest 29200
Space Invaders

Recréation du classique Space Invaders en Python orienté objet avec Tkinter. Ce projet m'a permis de redécouvrir les bases de la programmation orientée objet et de mettre en pratique mes compétences.

Principes POO Appliqués

Encapsulation

  • Classes distinctes pour chaque entité
  • Attributs privés et méthodes publiques
  • Interfaces claires entre composants

Héritage

  • Classe de base pour entités du jeu
  • Spécialisation pour joueur, ennemis, projectiles

Polymorphisme

  • Comportements spécifiques par type d'entité
  • Système de collision unifié

Architecture du Jeu

Game Engine

  • Game Loop robuste avec gestion des FPS
  • State Management pour phases de jeu
  • Détection de collisions optimisée

Entités

  • Joueur avec contrôles clavier
  • Ennemis avec patterns de mouvement
  • Projectiles avec trajectoires
  • Boss et power-ups

Fonctionnalités

  • Event handling pour contrôles
  • Système de scoring persistant
  • Niveaux de difficulté progressifs
  • Menu et écran de game over

Rendu Graphique

  • Utilisation avancée de Tkinter Canvas
  • Animations fluides
  • Rendering optimisé
  • Sprites personnalisés

Design Patterns

  • Observer Pattern pour gestion d'événements
  • Factory Pattern pour création d'entités
  • State Pattern pour états du jeu

Ce projet démontre ma compréhension de la POO en Python et du développement de jeux.