Optimiser des applications

Snake autonome en C

Cahier des charges

Après avoir réalisé le jeu de Snake, je l'ai amélioré.

Le but était de rendre le serpent autonome. Il calcule lui-même le chemin le plus court pour aller à la pomme, même s'il nécessite de passer par les portails. Par la suite, j'ai ajouté un deuxième serpent au même fonctionnement : chacun doit manger le plus de pommes pour remporter la victoire.

Les serpents doivent éviter les obstacles : bordure, pavés, leur corps et celui de l'autre serpent !
Une fois qu'un des serpents a mangé 10 pommes, le jeu prend fin.

Développement

Ce projet a été développé en C. Il était divisé en 4 versions possédant toujours plus de fonctionnalités. Il fallait notamment prévoir les calculs de chemins, la détection d'obstacles et le moyen de les éviter.

Avantages

Ce projet posait la question de l'optimisation : aussi bien du coût de l'algorithme que des calculs de chemins. J'ai pu apprendre à factoriser mon code plus efficacement.