Snake_Auto V2.0
Date de publication : 12 décembre 2024
Auteurs : Gabriel Gourdon et Elouan Passereau
Résumé
Cette version introduit un jeu "Snake" basé sur des comparaisons d'approches algorithmiques. Le jeu est conçu pour être exécuté à l'aide du compilateur GCC. Il met l'accent sur la jouabilité avec une IA simplifiée et des mécaniques de jeu classiques enrichies.
Nouvelles fonctionnalités
- Éléments de jeu :
- Gestion des pommes (10 au total) avec une détection optimisée.
- Génération de trous dans les bordures pour améliorer le gameplay.
- Ajout de bordures et d'obstacles statiques pour délimiter le plateau.
- Comportement du serpent :
- Déplacement contrôlé avec une logique d'IA basique.
- Collision détectée avec précision (corps, murs, obstacles).
- Gestion de la victoire après avoir mangé toutes les pommes.
- Interface utilisateur :
- Affichage des informations en temps réel (score, mouvements, temps écoulé, position, direction, position des pommes).
- Messages personnalisés en cas de victoire, défaite ou sortie volontaire.
- Performances :
- Accélération de la vitesse du serpent pour simuler un challenge progressif.
- Calcul du temps CPU utilisé.
Améliorations
- Réduction de la complexité de certaines fonctions (par ex. gestion des directions et détections).
- Optimisation de la gestion des coordonnées et des collisions.
- Ajout d’une gestion des événements clavier robuste.
Problèmes connus
- Bug mineur : Le serpent peut se heurter à un mur lorsqu'il tente de réintégrer un trou après avoir mangé la première pomme. (TODO mentionné dans le code).
Instructions d'utilisation
Pour compiler et exécuter :
- Compiler avec la commande :
gcc ./version2.c -Wall -lm -o snake_game
- Lancer l'exécutable généré :
./snake_game
Perspectives
- Résolution du bug mentionné.
- Ajout de niveaux supplémentaires avec des obstacles dynamiques.
- Implémentation d’une IA avancée pour le serpent.