Jeu Snake avec davistk⚓︎
1. Description⚓︎
Le jeu Snake est un classique des jeux vidéo où un serpent se déplace sur une grille, mange des fruits pour grandir, et doit éviter de se mordre ou de heurter les murs. L'objectif est de coder ce jeu en utilisant la bibliothèque graphique davistk.
Le jeu se déroule sur une grille rectangulaire où chaque case représente une unité de déplacement du serpent. Le joueur contrôle la direction du serpent (haut, bas, gauche, droite) à l'aide des touches du clavier.
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 serpent commence avec une longueur de 3 cases.
- À chaque itération, le serpent avance dans la direction choisie par le joueur.
- Si le serpent mange un fruit, il grandit d'une case et un nouveau fruit apparaît à un emplacement aléatoire.
- Le jeu se termine si :
- Le serpent se mord lui-même.
- Le serpent heurte un mur.
1.3 Étapes de développement⚓︎
- Créer une grille : Représenter la plateau où chaque case peut être vide, occupée par une partie du serpent, ou contenir un fruit.
- Déplacer le serpent : Implémenter le déplacement du serpent en fonction des touches pressées.
- Gérer les collisions : Vérifier si le serpent heurte un mur ou se mord lui-même.
- Ajouter les fruits : Générer des fruits à des positions aléatoires et gérer leur consommation.
- Afficher le jeu : Utiliser davistk pour dessiner la grille, le serpent, et les fruits.
2. Objectifs⚓︎
Primaire : Créer un jeu Snake 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 plateau, le serpent, les fruits ...).
- 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