1
0
mirror of https://github.com/Klagarge/PokeHES.git synced 2024-11-23 01:43:28 +00:00

Update README.md

This commit is contained in:
Rémi Heredero 2022-06-17 15:39:08 +02:00 committed by GitHub
parent db4a25c1d2
commit 62716a5077
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -118,9 +118,11 @@ Un calque spécial contient les portes et la méthode « isDoor » analyse si un
### 3.5 Partie combat ### 3.5 Partie combat
Durant la partie combat, le joueur se retrouve face à lennemi et dois répondre à son quiz jusquà ce que son adversaire nait plus de point de vie. Durant la partie combat, le joueur se retrouve face à lennemi et dois répondre à son quiz jusquà ce que son adversaire nait plus de point de vie.
![Figure 9 Door](Data/img/screenshots/image10.png) ![Figure 9 Door](Data/img/screenshots/image10.png)
![Figure 9 Door](Data/img/screenshots/image11.png) ![Figure 9 Door](Data/img/screenshots/image11.png)
![Figure 9 Door](Data/img/screenshots/image12.png) ![Figure 9 Door](Data/img/screenshots/image12.png)
Au début, la partie commence avec un mot dintroduction (gauche), puis, lennemi pose 4 questions aléatoires (centre) et le joueur peut gagner des points. A la fin du combat, ladversaire, dit un texte pour terminer (droite). Au début, la partie commence avec un mot dintroduction (gauche), puis, lennemi pose 4 questions aléatoires (centre) et le joueur peut gagner des points. A la fin du combat, ladversaire, dit un texte pour terminer (droite).
#### 3.5.1 La gestion de la base de données, du texte #### 3.5.1 La gestion de la base de données, du texte
@ -133,13 +135,19 @@ Nous utilisons une class « SpeechData » qui va répertorier tous les textes de
Le fichier comporte les paroles dintroduction du personnage, les introductions aux différentes attaques et un mot de fin différent, si le joueur la battu ou non. Le fichier comporte les paroles dintroduction du personnage, les introductions aux différentes attaques et un mot de fin différent, si le joueur la battu ou non.
Nous exploitons aussi une deuxième class « FightData » qui va se charger de lister les réponses dans un vecteur de class « Attack » qui se présente de cette manière : Nous exploitons aussi une deuxième class « FightData » qui va se charger de lister les réponses dans un vecteur de class « Attack » qui se présente de cette manière :
![Figure 9 Door](Data/img/screenshots/image10.png) ![Figure 9 Door](Data/img/screenshots/image10.png)
Cette class va permettre de stocker les questions, les 4 réponses et le nombre de point de la question que lon reçoit si on répond juste du fichier. Donc « FightData » va récupérer les données dans le .csv avec le nom de lennemi de cette forme : Cette class va permettre de stocker les questions, les 4 réponses et le nombre de point de la question que lon reçoit si on répond juste du fichier. Donc « FightData » va récupérer les données dans le .csv avec le nom de lennemi de cette forme :
![Figure 9 Door](Data/img/screenshots/image15.png) ![Figure 9 Door](Data/img/screenshots/image15.png)
Ce fichier contient lattaque, les 4 contre-attaques et les points dexpérience pour chaque question. Ce fichier contient lattaque, les 4 contre-attaques et les points dexpérience pour chaque question.
Finalement, tout est amené dans la class « TextEnemy », où le texte est produit en entier. Elle va créer un vecteur de class « Line » pour stocker le texte de lennemi et sil est en mode attaque : Finalement, tout est amené dans la class « TextEnemy », où le texte est produit en entier. Elle va créer un vecteur de class « Line » pour stocker le texte de lennemi et sil est en mode attaque :
![Figure 9 Door](Data/img/screenshots/image16.png) ![Figure 9 Door](Data/img/screenshots/image16.png)
Le deuxième attribut « attackOn » sert à détecter si lennemi est en train de poser les questions pour que le joueur ne puisse quutiliser les touches 1, 2, 3, et 4 de son clavier pour répondre. Chaque partie du texte du professeur est stocker dans le premier attribut « line ». Il contient à chaque fois le mixe entre le « SpeechData » et le « FightData ». Cela se présente de la manière suivante dans le vecteur : Le deuxième attribut « attackOn » sert à détecter si lennemi est en train de poser les questions pour que le joueur ne puisse quutiliser les touches 1, 2, 3, et 4 de son clavier pour répondre. Chaque partie du texte du professeur est stocker dans le premier attribut « line ». Il contient à chaque fois le mixe entre le « SpeechData » et le « FightData ». Cela se présente de la manière suivante dans le vecteur :
- 0. Le texte dintroduction - 0. Le texte dintroduction
@ -155,7 +163,9 @@ Une fois tout cela terminer, le texte est affiché dans la boîte de dialogue en
#### 3.5.2 Laléatoire des questions #### 3.5.2 Laléatoire des questions
Chaque question posée par lennemi est posée de façon aléatoire et chaque réponse que peut sélectionner le joueur est aussi mélangée de façon aléatoire. Pour faire cela, nous avons créé une méthode que retourne un tableau contenant le nombre de numéro aléatoire souhaité compris entre les bornes minimum et maximum. Le tout est gérer dans la class « TextEnemy » où on retrouve cette méthode : Chaque question posée par lennemi est posée de façon aléatoire et chaque réponse que peut sélectionner le joueur est aussi mélangée de façon aléatoire. Pour faire cela, nous avons créé une méthode que retourne un tableau contenant le nombre de numéro aléatoire souhaité compris entre les bornes minimum et maximum. Le tout est gérer dans la class « TextEnemy » où on retrouve cette méthode :
![Figure 9 Door](Data/img/screenshots/image17.png) ![Figure 9 Door](Data/img/screenshots/image17.png)
Pour commencer, on entre un minimum, un maximum et les nombres de chiffres aléatoires choisis. La méthode crée un premier tableau contenant tous les numéros entre les paramètres y compris. Elle génère un second tableau vide, mais pouvant contenir le nombre de nombres que lon veut. Ensuite, elle crée une nouvelle instance de class « Random » pour générer un nombre aléatoire et passer à tous les éléments du premier tableau et les changer de place avec un autre de position aléatoire. Pour commencer, on entre un minimum, un maximum et les nombres de chiffres aléatoires choisis. La méthode crée un premier tableau contenant tous les numéros entre les paramètres y compris. Elle génère un second tableau vide, mais pouvant contenir le nombre de nombres que lon veut. Ensuite, elle crée une nouvelle instance de class « Random » pour générer un nombre aléatoire et passer à tous les éléments du premier tableau et les changer de place avec un autre de position aléatoire.
Finalement, Nous prenons les 4 premiers éléments du tableau mélangé pour le mettre dans le deuxième tableau qui permet à la méthode de retourne celui-là. Finalement, Nous prenons les 4 premiers éléments du tableau mélangé pour le mettre dans le deuxième tableau qui permet à la méthode de retourne celui-là.
@ -165,7 +175,9 @@ Ainsi, nous utiliser cette méthode pour mélanger les questions de chaque ennem
Dans laffichage du combat, le texte de lennemi défile avec les touches. Cette partie est gérée dans les class « Battle » et « ScreenBattle ». Dans laffichage du combat, le texte de lennemi défile avec les touches. Cette partie est gérée dans les class « Battle » et « ScreenBattle ».
Tout dabords, il a fallu différencier les touches lorsque le joueur répond à une question ou lit du texte du professeur. Nous avons utilisé un attribut « attackOn » dans le vecteur de class « Line » comme expliqué plus haut. Ainsi, lorsque le joueur appuie sur les touches 1, 2, 3, 4 pour répondre à une question, ou lorsquil appuie sur la barre espace. Nous pouvons appeler la méthode « action » de la class « Battle ». Tout dabords, il a fallu différencier les touches lorsque le joueur répond à une question ou lit du texte du professeur. Nous avons utilisé un attribut « attackOn » dans le vecteur de class « Line » comme expliqué plus haut. Ainsi, lorsque le joueur appuie sur les touches 1, 2, 3, 4 pour répondre à une question, ou lorsquil appuie sur la barre espace. Nous pouvons appeler la méthode « action » de la class « Battle ».
![Figure 9 Door](Data/img/screenshots/image18.png) ![Figure 9 Door](Data/img/screenshots/image18.png)
Cest méthode nous permet de déterminer quelle action nous faisons en fonction dune variable « LineSpeech » que nous obtenons à laide de « getLineSpeech ». Cet attribut de la class « Battle » détermine quel élément du vecteur de class « Line », nous affichons. Cest méthode nous permet de déterminer quelle action nous faisons en fonction dune variable « LineSpeech » que nous obtenons à laide de « getLineSpeech ». Cet attribut de la class « Battle » détermine quel élément du vecteur de class « Line », nous affichons.
Les différents cas étudiés : Les différents cas étudiés :
@ -179,9 +191,11 @@ Les différents cas étudiés :
La fin de partie intervient dans deux cas différents : La fin de partie intervient dans deux cas différents :
1. Le joueur a atteint le nombre de crédit maximum pour terminer le jeu et le message suivant affiche le nombre de crédit atteint et le temps que le joueur a pris. 1. Le joueur a atteint le nombre de crédit maximum pour terminer le jeu et le message suivant affiche le nombre de crédit atteint et le temps que le joueur a pris.
![Figure 9 Door](Data/img/screenshots/image19.png) ![Figure 9 Door](Data/img/screenshots/image19.png)
2. Le temps sest écoulé et le joueur a perdu la partie et le message suivant affiche le nombre de crédit quil a obtenu. 2. Le temps sest écoulé et le joueur a perdu la partie et le message suivant affiche le nombre de crédit quil a obtenu.
![Figure 9 Door](Data/img/screenshots/image20.png) ![Figure 9 Door](Data/img/screenshots/image20.png)
## 4 Les améliorations ## 4 Les améliorations