Retour aux projets

BlindTest

Terminé
2024

Description

BlindTest est un petit jeu réalisé pendant notre temps libre avec un camarade. Il s'est chargé de la partie design, tandis que je me suis occupé de la logique du programme. Le principe est simple : l'utilisateur lance l'application, une musique démarre, et il dispose de 10 secondes pour saisir le nom de l'artiste ainsi que celui du titre afin d'obtenir le score maximal.

Le système de score fonctionne en deux paliers : trouver à la fois l'artiste et le titre rapporte le score complet, tandis qu'un seul des deux éléments ne donne que la moitié des points. À la fin de chaque extrait, une nouvelle musique est lancée, jusqu'à ce qu'un total de 10 morceaux aient été joués. L'interface affiche le score en temps réel et le résultat final à l'écran de fin.

Pour ce projet, nous avons utilisé le seul langage que nous maîtrisions à ce moment-là : Processing, un langage orienté objet simplifié basé sur Java, conçu pour l'enseignement de la programmation. Sa bibliothèque graphique intégrée nous a permis de créer facilement l'interface utilisateur (champs de saisie, compteur visuel, écran de fin). Pour la lecture audio, nous avons intégré la bibliothèque Sound qui permet de lire, mettre en pause et contrôler les fichiers MP3 directement depuis le code.

Bien que modeste, ce projet m'a permis de mettre en pratique pour la première fois la programmation orientée objet dans un contexte ludique, de découvrir l'intégration de bibliothèques externes et de travailler la gestion du temps (timer, séquencement des tours) dans une application interactive.

Défis & Solutions

Défi

La principale difficulté rencontrée résidait dans le fait qu’à l’origine, Processing ne permet pas de lire des fichiers audio.

Solution trouvée

Pour contourner cette limitation, nous avons intégré une bibliothèque externe appelée Sound. Celle-ci nous a donné accès à la classe SoundFile, grâce à laquelle il devenait possible de lire, arrêter et manipuler des fichiers audio.

Compétences acquises

  • Développement d'un jeu interactif avec Processing
  • Intégration de bibliothèques externes (bibliothèque Sound)
  • Gestion du temps et séquencement d'événements (timer)
  • Système de score et logique de points
  • Programmation orientée objet (POO)
  • Travail en équipe (répartition design / logique)
  • Manipulation de fichiers audio (lecture, arrêt, contrôle)

Aperçu

Capture d'écran 1
Capture d'écran 2