Développement logiciel
Ce code constitue le modèle d'une application JavaFX représentant un jeu d'aventure 2D où un personnage explore une ville oubliée, utilisant la stratégie de Pierre-Papier-Ciseaux pour surmonter des défis. Le personnage se déplace dans un environnement urbain limité par des obstacles et interagit avec divers éléments tels que des PNJ (personnages non-joueurs), des bâtiments mystérieux, et quatre défis majeurs à relever. Le personnage est contrôlé par des coordonnées x et y qui sont ajustées via des méthodes de déplacement, vérifiant la validité de ces mouvements pour éviter de traverser les bordures ou certains éléments du décor urbain. Plusieurs méthodes déterminent la proximité du personnage par rapport aux objets d'intérêt, déclenchant ainsi des actions spécifiques comme l'affichage de dialogues, des mini-jeux de Pierre-Papier-Ciseaux, ou la vérification des conditions nécessaires pour accéder aux défis. Le code intègre des mécanismes pour implémenter les règles du Pierre-Papier-Ciseaux lors des interactions avec les PNJ ou les défis, influençant la progression du joueur dans la ville. Des animations et des effets visuels enrichissent l'expérience utilisateur, notamment avec des textes animés lors de l'affichage d'alertes ou des résultats des duels de Pierre-Papier-Ciseaux. L'ensemble est conçu pour offrir une expérience immersive combinant exploration urbaine, interactions stratégiques basées sur le Pierre-Papier-Ciseaux, et la résolution de quatre défis principaux pour percer les mystères de la ville oubliée. Le jeu maintient un équilibre entre la liberté d'exploration et les contraintes spatiales pour préserver la cohérence de l'univers du jeu, tout en guidant le joueur à travers une série d'énigmes et de confrontations basées sur la mécanique du Pierre-Papier-Ciseaux.
Code source
Déplacement du personnage : Les méthodes setX1 et setY1 permettent de déplacer le personnage tout en contrôlant les bordures de l'écran et en évitant certains obstacles fixes.
Interaction avec les PNJ : Les méthodes isCharacterNearPNJ et ses variantes vérifient si le personnage est suffisamment proche d'un PNJ pour déclencher une interaction.
Détection de proximité : Le modèle inclut des méthodes comme isInformationNear et isNearHouse pour identifier si le personnage se trouve à proximité de points d'intérêt spécifiques.
Affichage d'alertes informatives : Méthodes showRules et showAlertHouse pour afficher des boîtes de dialogue avec des informations contextuelles, avec des animations de texte pour une meilleure présentation.
Gestion de la victoire : La variable victory et la méthode isCharacterNearBoss contrôlent l'accès au boss, en fonction du nombre de victoires obtenues.
Animation de texte : La méthode animateText permet d'animer l'affichage de texte, lettre par lettre, dans une boîte de dialogue, pour un effet visuel attrayant.
Blocage des déplacements : Les méthodes de déplacement contrôlent et bloquent l'accès à certaines zones de la carte, telles que les bordures, les zones de verdure, et les positions occupées par les PNJ.
Conditions d'accès au boss : La méthode isCharacterNearBossWithoutVictory empêche le personnage de se rendre dans la zone du boss si les conditions de victoire ne sont pas remplies.
Style et personnalisation de l'affichage : Les alertes affichent des textes avec des styles définis, incluant des polices personnalisées et des couleurs spécifiques.
Détails narratifs et d'instructions : La méthode showRules fournit un texte riche et immersif pour introduire le joueur aux mécaniques et à l'histoire du jeu.