Projet Snake en C

SAÉ 1.01 - Conception et implémentation d'un jeu classique

C Algorithmique Programmation

Présentation du projet

Ce projet consistait à développer une version fonctionnelle du jeu classique "Snake" en utilisant le langage de programmation C. L'objectif était de mettre en pratique les concepts fondamentaux de la programmation, de l'algorithmique et de la gestion de structures de données.


Il s'inscrit dans le cadre de la compétence "Développer des applications informatiques" et plus spécifiquement l'apprentissage critique "Implémenter des conceptions simples".

Informations clés

  • Module : S1.01
  • Compétence : Développer des applications informatiques
  • Apprentissage critique : Implémenter des conceptions simples
  • Langage : C
  • Organisation : Travail seul
  • Durée : 4 semaines
  • Livrables : Programme C, Fichiers ODS, Documentation

Étapes du projet

1
Implémentation
2
Tests
3
Cahier de tests
Capture d'écran du jeu Snake

Description détaillée

Le jeu Snake est un classique où le joueur contrôle un serpent qui se déplace dans une grille. L'objectif est de manger des pommes "6" pour grandir tout en évitant de heurter les murs ou son propre corps.


Ce projet m'a permis de mettre en pratique plusieurs concepts fondamentaux de programmation :

Structures de données

Utilisation de tableaux et de structures pour représenter le serpent et la grille de jeu.

Algorithmes

Implémentation d'algorithmes pour la détection de collisions et le déplacement du serpent.

Programmation procédurale

Organisation du code en fonctions modulaires pour une meilleure maintenance.

Gestion d'états

Suivi et mise à jour de l'état du jeu en réponse aux actions du joueur.

Méthodologie

Le développement de ce projet a suivi une approche structurée en plusieurs phases :

Phase 1: Maquette

Élaboration d'une maquette détaillée pour visualiser l'interface utilisateur et les interactions. Cette phase a permis de définir l'apparence du jeu et les fonctionnalités à implémenter.

Phase 2: Implémentation

Programmation du jeu en langage C, en suivant la maquette et en respectant les bonnes pratiques de développement. Cette phase comprenait la création de l'interface, la logique de jeu et la gestion des entrées utilisateur.

Phase 3: Cahier de tests

Création d'un cahier de tests détaillant les différents scénarios à vérifier pour garantir le bon fonctionnement du jeu. Cela inclut les tests unitaires pour chaque fonctionnalité et les tests d'intégration.

Phase 4: Test et validation

Exécution des tests définis dans le cahier pour valider le bon fonctionnement du jeu et corriger les éventuels bugs. Cette phase a également permis d'optimiser les performances et d'améliorer l'expérience utilisateur.

Compétences acquises

Ce projet m'a permis de développer et renforcer plusieurs compétences clés en développement logiciel :

Maîtrise du langage C

Approfondissement des connaissances en programmation C, notamment la gestion de la mémoire et les structures de données.

Conception logicielle

Élaboration d'une architecture logicielle cohérente et maintenable pour un projet complexe.

Tests et débogage

Création et exécution de tests pour identifier et résoudre les problèmes dans le code.

Documentation

Rédaction d'une documentation claire et complète du code et des fonctionnalités implémentées.