- 2020-JCO-FLAPPY-BIRD
- Introduction
- Pré-requis
- But
- Évolution du jeu
- Déroulement de base d'une partie
- Documentation
- Class
Projet d'une durée de 28 jours qui a pour but de repprendre un jeu célèbre et de le recréer par programmation orienté objet.
Language de programation : Java
Des bases en programmation orienté objet sont indispensables pour comprendre et modifer ce projet
- SDK : javaFX
- IDE Java : IntelliJ IDEA
Télécharger la dernière version dans la section release
Le joueur doit aider un oiseau à franchir des petits espaces entre deux tuyaux
Si le joueur appuie sur la barre d'espace, l'oiseau battera des ailes une fois se qui le fera monter un peu, avant de recommencer à descendre, si le joueur fait monter l'oiseau trop haut, l'oiseau meurt.
Si l'oiseau touche le bas il meurt.
Le but est de passer le plus de tuyaux possible
Voici les différentes évolutions majeures du projet
Un fond et des rectangles pour faire un oiseau et des tuyaux, l'oiseau vole mais aucune collision n'est détectée Ajout de sprite sur les rectangles, les collisions sont maitenant détectées Ajout et gestion du score, un écran d'accueil est maintenant là, il est aussi possible de rejouer ou de quitter l'application après la mort de l'oiseau L'oiseau pique maintenant du bec en tombant, un fond animé défile lors de la partie, la vitesse des tuyaux à été diminiuée mais leur nombre à augmenté. Il est possible d'activer le hardmode (mode difficile) en appuyant sur G dans le menu, dans ce mode les tuyaux bougent verticalement.Une petite tête de mort sera là pour indiquer dans quel mode vous vous trouvez.
Il est possible de visualiser le tableau des 5 meilleur scores en appuyant sur TAB, changer de mode de jeu changera de tableau de score.
Le déroulement de base d'une partie est décrite dans ce document PDF
Voici un bref apperçu des différentes classes qui composent le jeu.
Les classes sont nettement plus détaillées dans le code source ainsi que dans la JavaDoc.
La documentation technique aide à la compréhension de certaines fonctions/pratiques utilisées
La javaDoc hors-ligne du projet est disponible ici : JavaDoc
La classe Area décrit une zone rectangulaire servant à détécter les bords limites d'un rectangle.
Un objet Area sera composé de 4 coordonnées XY de la classe CoordXY qui représenteront le coin haut-gauche, haut-droit, bas-gauche et bas-droit.
Fonctionnement de la classe Area
La classe Bird décrit un oiseau pouvant voler, tomber, mourir et revivre.
La classe se compose d'une Area servant à détecter ses collisions ainsi que d'un sprite pour afficher une image de l'oiseau FlappyBird.
La classe Pipe réprésente un tuyaux qui peut détecter si l'oiseau l'a touché.
La classe se compose d'une Area servant à détecter ses collision ainsi que d'un sprite pour afficher une image de tuyau
La classe PipeCouple représente un couple de tuyaux (un en haut et un en bas) qui peut se déplacer de droite à gauche, générer un nouvel espace aléatoire entre eux-mêmes et donner des points au joueur.
La classe se compose de deux tuyaux de la classe Pipe
La classe Score réprsente un texte qui peut s'incrément ainsi que se remettre à zéro.
La classe se compose d'un objet Text.