Jeu Space Invaders avec davistk⚓︎
1. Description⚓︎
Le jeu Space Invaders est un classique des jeux vidéo où le joueur contrôle un vaisseau spatial qui doit détruire des envahisseurs extraterrestres. L'objectif est de coder ce jeu en utilisant la bibliothèque graphique davistk.
Le jeu se déroule sur un écran où des envahisseurs se déplacent horizontalement et descendent progressivement. Le joueur peut déplacer son vaisseau horizontalement et tirer des projectiles pour éliminer les envahisseurs.
1.1 Prérequis : bibliothèque davistk⚓︎
La bibliothèque davistk est une bibliothèque graphique simplifiée conçue pour des projets éducatifs. Elle permet de dessiner des formes simples (rectangles, cercles, lignes, etc.) et de gérer les événements clavier. (cf en bas pour le lien vers la bibliothèque et la documentation)
1.2 Règles du jeu⚓︎
- Le joueur contrôle un vaisseau qui peut se déplacer horizontalement en bas de l'écran.
- Les envahisseurs se déplacent horizontalement et descendent progressivement.
- Le joueur peut tirer des projectiles pour détruire les envahisseurs.
- Le jeu se termine si :
- Les envahisseurs atteignent le bas de l'écran.
- Le joueur détruit tous les envahisseurs.
1.3 Étapes de développement⚓︎
- Créer le plateau de jeu : Représenter l'écran avec le vaisseau, les envahisseurs, et les projectiles.
- Déplacer le vaisseau : Implémenter le déplacement horizontal du vaisseau en fonction des touches pressées.
- Gérer les envahisseurs : Ajouter des envahisseurs qui se déplacent horizontalement et descendent progressivement.
- Gérer les projectiles : Permettre au joueur de tirer des projectiles et vérifier les collisions avec les envahisseurs.
- Afficher le jeu : Utiliser davistk pour dessiner le vaisseau, les envahisseurs, et les projectiles.
2. Objectifs⚓︎
Primaire : Créer un jeu Space Invaders fonctionnel avec les règles de base.
Secondaire :
- Ajouter des fonctionnalités supplémentaires (par exemple : niveaux de difficulté, score affiché à l'écran).
- Créer une interface graphique plus avancée avec des animations fluides.
- Ajouter des sons ou des effets visuels.
3. Calendrier et contenu des rendus⚓︎
Date 1⚓︎
- Description des structures de données (comment représenter le vaisseau, les envahisseurs, les projectiles ...).
- Liste des fonctions à créer avec leur description (docstring) et leurs tests (doctests).
Date 2⚓︎
- Projet final et fonctionnel.
- Rapport de projet.
- Capsules audio expliquant le fonctionnement du code.
4. Quelques ressources⚓︎
- Documentation de davistk : davistk