Ce projet a été réalisé dans le cadre d’un TP en février 2025, sur une durée d’une semaine. L’objectif était de concevoir un jeu de démineur en Flutter, entièrement jouable sur ordinateur et téléphone, tout en respectant les mécaniques classiques du jeu.
Nous devions implémenter toutes les fonctionnalités essentielles d’un démineur :
- Génération aléatoire du plateau avec des mines placées dynamiquement.
- Révélation des cases avec indication du nombre de mines adjacentes.
- Marquage des mines à l’aide d’un drapeau.
- Conditions de victoire et de défaite.
L’un des défis majeurs de ce projet était de développer en suivant l’architecture MVVM (Model-View-ViewModel), ce qui nous a demandé une organisation rigoureuse du code et une bonne séparation des responsabilités entre la logique métier et l’interface utilisateur. Cela a complexifié le développement, mais a permis de rendre le code plus structuré, maintenable et évolutif.
Compétences utilisées
Flutter
Android studio
MVVM (Modèle View ViewModele)
Adaptabilité
Ce que le projet m'a apporté
Ce projet a été une expérience enrichissante, car c’était mon premier développement avec l’architecture MVVM. J’ai dû apprendre à structurer mon code de manière plus claire et organisée, en séparant bien la logique métier de l’affichage, ce qui m’a permis de mieux comprendre l’importance des bonnes pratiques de développement pour créer une application maintenable et évolutive.
J’ai beaucoup apprécié ce projet, notamment parce qu’il m’a permis de découvrir et d’approfondir le développement mobile. Pouvoir créer une application fonctionnelle aussi bien sur téléphone que sur ordinateur a été une vraie satisfaction. Même si Flutter a une syntaxe assez particulière, j’ai rapidement pris mes repères et j’ai trouvé son fonctionnement très intuitif et puissant une fois que l’on s’y habitue.
Cette expérience m’a donné envie d’explorer davantage le développement d’applications mobiles, car j’ai aimé la polyvalence que Flutter apporte et la liberté de pouvoir coder une application cross-platform de manière efficace.