Cahier des spécifications fonctionnelles - ThomasLEBRET/YGO_Designer GitHub Wiki
CAHIER DES SPECIFICATIONS FONCTIONNELLES
Présentation
Yu-Gi-Oh! est un jeu de cartes à jouer et à collectionner (TCG) au tour par tour entre 2 joueurs où le but est de réduire le nombre de points de vie de l’adversaire à 0. Un joueur commence avec 4000 points de vies et 5 cartes dans la main. Les cartes se composent de 3 catégories :
- Monstre
- Magie
- Piège
Chaque carte possède 0, 1 ou plusieurs effets qui permettent au joueur de changer le cours d'une partie à son avantage. Ces effets peuvent être synergiques en s'appellant mutuellement par exemple ou bien complétement indépendants les uns des autres.
Dans un objectif de performance, les joueurs doivent composer un paquet de carte pour jouer (deck), afin concourir lors de tournois. Pour cela, ils doivent prendre en compte un certain nombre de critères sur la structure de leur deck afin de le rendre compétitif et performant. De ce fait, les joueurs expérimentés doivent pouvoir concevoir des deck stratégiques.
MCD
Diagramme de cas d’utilisation
Dictionnaire
- DECK : Un deck est un jeu de cartes utilisé par un joueur composées entre 40 et 60 cartes.
- CARTE : Une carte est un composant d’un deck permettant au joueur de jouer, tout simplement.
- MAGIE : Une carte peut être d’attribut MAGIE, auquel cas elle possède un type particulier (normal, jeu rapide, continue, terrain). Elle possède nécessairement un effet.
- PIEGE : Une carte peut être d’attribut PIEGE, auquel cas elle possède un type particulier (normal, continue, contre-piège). Elle ne peut être activée qu'après avoir été posée un tour auparavent minimum sur le terrain
- MONSTRE : Une carte peut enfin être d’attribut MONSTRE, auquel cas le monstre possède une catégorie (dragon, magicien, démon …), un attribut (lumière, ténèbres, feu, vent, eau, terre, divin), un nombre d’étoile graduant sa puissance (allant de 1 à 12), 0,1 ou plusieurs effets, une attaque et une défense.
- TERRAIN : Plateau où se déroule la partie. Il est composé de 2 parties, une pour chaque adversaire. Une partie du terrain est composée de 5 zones où le joueur peut placer jusqu'à 5 monstres et 5 zones lui permettant de jouer des cartes magie ou de poser des cartes pièges face verso (non visible).
- EFFET : Particularité d’une mécanique de jeu, d’un monstre, d’une magie ou d’un piège permettant de réaliser des actions particulières durant la partie. Ils ont une portée globale au sein du jeu. Par exemple, une carte monstre à effet peut déclencher un effet faisant gagner des points de vie au joueur ou bien une carte magie permettant de détruire une carte sur le terrain et d’envoyer une carte de la main du joueur au cimetière.
- CIMETIERE : Pile de défausse des cartes. Une carte magie ou piège, une fois consommée y va. Idem pour un monstre détruit au combat (si un monstre avec plus d'attaque remporte le combat contre un monstre adverse avec moins d'attaque ou de défense).
- STRATEGIE : Une stratégie est un moyen de jouer un deck en fonction de critères. Une stratégie possède une liste de combinaisons d’effets. Une combinaison est composée d'un effet parent ayant un effet sur un autre nommé enfant. La combinaison d'effet est pondérée par un entier au sein de la stratégie.
Cas d'utilisations
Cas : Chercher_consulter une carte
- Acteur principal : Utilisateur
- Acteur secondaire :
- Objectif : L’utilisateur doit pouvoir chercher une carte et voir son descriptif.
- Précondition : Le profil de l’utilisateur existe et est connecté.
- Postcondition :
- Scénario principal :
- L’utilisateur rentre un nom de carte partiel ou complet et sélectionne 0, 1 ou plusieurs critères de recherche.
- L’utilisateur sélectionne une carte parmi la liste de résultats.
- La carte s’affiche à l’utilisateur. L’utilisateur doit pouvoir voir tout ce qui compose la carte.
- Scénario alternatif :
- Extension : L’utilisateur peut voir dans quelles stratégies la carte est utilisée.
Cas : Ajouter / supprimer une carte
- Acteur principal : Administrateur
- Acteur secondaire :
- Objectif : L’utilisateur doit pouvoir ajouter et supprimer une carte.
- Précondition : Le profil de l'administrateur existe et est connecté.
- Postcondition :
- Scénario principal :
- L'administrateur renseigne les informations d'une carte dans l'application.
- L'administrateur ajoute la carte dans la base de données.
- L'administrateur peut ensuite rechercher la carte et décider de la supprimer via un bouton dans une autre interface.
- Scénario alternatif :
- Extension :
Cas : Consulter le nombre de cartes et de decks
- Acteur principal : Administrateur
- Acteur secondaire :
- Objectif : L'administrateur doit pouvoir voir le nombre de cartes et de decks existants dans la base de données.
- Précondition : Le profil de l'administrateur existe et est connecté
- Postcondition :
- Scénario principal :
- L'administrateur peut voir une fois connecté le nombre de cartes et de decks dans son interface d'accueil.
- Scénario alternatif :
- Extension : L'administrateur peut également consulter un graphique des différentes cartes (monstre, magie, piège).
Cas : Créer une stratégie de jeu
- Acteur principal : Administrateur
- Acteur secondaire :
- Objectif : L'administrateur doit pouvoir créer une stratégie de jeu pour les joueurs.
- Précondition : Le profil de l'administrateur existe et est connecté.
- Postcondition :
- Scénario principal :
- L'administrateur renseigne un code unique pour la stratégie, un nom ainsi que les effets la composant et le ratios de cartes permettant d'amorcer la stratégie, le ratio des cartes permettant d'étendre cette stratégie et le ratio des cartes permettant de piéger un adversaire rapidement.
- L'administrateur valide sa saisie. Le logiciel vérifie qu'une stratégie avec le même code n'existe pas déjà.
- Scénario alternatif :
- Extension :
Cas : Organiser les combinaisons d'effets d'une stratégie de jeu
- Acteur principal : Administrateur
- Acteur secondaire :
- Objectif : L'administrateur doit pouvoir organiser les effets au seins des combinaisons d'une stratégie de jeu pour les joueurs.
- Précondition : Le profil de l'administrateur existe et est connecté.
- Postcondition :
- Scénario principal :
- L'administrateur sélectionne une stratégie de jeu, les listes d'effets parents et enfants se chargent en fonction des effets renseignés dans la stratégie.
- L'administrateur choisi un effet père et un effet fils. Il renseigne ensuite un poids représenté par un entier non négatif.
- Une fois renseigné, la combinaison d'effets se visualise dans l'interface.
- Scénario alternatif :
- Extension :
Cas : Créer un compte
- Acteur principal : Utilisateur
- Acteur secondaire :
- Objectif : L'utilisateur doit pouvoir se créer un compte.
- Précondition :
- Postcondition :
- Scénario principal :
- Le joueur renseigne, une fois l'application démarrée, son nom d'utilisateur ainsi qu'un mot de passe. Il a le choix entre se connecter et se créer un compte
- Le compte joueur est créé si l'utilisateur clique sur le bouton "se créer un compte" et si le nom d'utilisateur n'est pas déjà renseigné dans la base de données.
- Scénario alternatif :
- Extension :
Cas : Créer / Supprimer un deck
- Acteur principal : Joueur
- Acteur secondaire :
- Objectif : Le joueur doit pouvoir créer des decks au sein de son interface.
- Précondition : Le profil du joueur est connecté.
- Postcondition :
- Scénario principal :
- Le joueur renseigne un nom pour son deck.
- Le joueur clique sur le bouton : le deck est saisie dans la base de données.
- Le joueur peut ensuite ajouter des cartes au deck ou cliquer sur un bouton afin de le supprimer en le sélectionnant.
- Scénario alternatif :
- Extension :
Cas : Ajouter / Supprimer une carte d'un deck
- Acteur principal : Joueur
- Acteur secondaire :
- Objectif : Le joueur doit pouvoir ajouter ou supprimer une carte dans un de ses decks.
- Précondition : Le profil du joueur existe et est connecté.
- Postcondition :
- Scénario principal :
- Le joueur sélectionne un deck puis cherche une carte.
- Le joueur sélectionne la carte et clique sur le bouton : la carte s'ajoute dans le deck.
- Le joueur clique sur le deck puis sur la carte et enfin sur le bouton de suppression : La carte se supprime du deck.
- Scénario alternatif :
- Extension : Le joueur peut supprimer un exemplaire d'une carte au lieu de la carte en elle-même au sein du deck.
- Extension 2 : Le joueur peut vider le deck avec un bouton lui permettant de supprimer toutes les cartes du deck choisi.
Cas : Générer un deck aléatoirement
- Acteur principal : Joueur
- Acteur secondaire :
- Objectif : Le joueur doit pouvoir générer automatiquement un deck basé sur l'aléatoire.
- Précondition : Le profil du joueur existe et est connecté.
- Postcondition :
- Scénario principal :
- Le joueur rentre dans l'interface correspondante.
- Le joueur clique sur le bouton "Générer aléatoirement" : Le deck se génère.
- Le deck est ajouté automatiquement.
- Scénario alternatif :
- Extension : Le joueur peut visualiser le contenu du deck avant ajout à sa liste de decks.
Cas : Générer un deck par effets
- Acteur principal : Joueur
- Acteur secondaire :
- Objectif : Le joueur doit pouvoir générer automatiquement un deck basé sur les effets des cartes.
- Précondition : Le profil du joueur existe et est connecté.
- Postcondition :
- Scénario principal :
- Le joueur rentre dans l'interface correspondante.
- Le joueur sélectionne les effets qu'il souhaite voir renseignés dans son deck.
- Le joueur clique sur le bouton "Générer par effets" : Le deck se génère.
- Le deck est ajouté automatiquement.
- Scénario alternatif :
- Extension : Le joueur peut visualiser le contenu du deck avant ajout à sa liste de decks.
Cas : Générer un deck stratégique
- Acteur principal : Joueur
- Acteur secondaire :
- Objectif : Le joueur doit pouvoir générer automatiquement un deck basé sur une stratégie de jeu.
- Précondition : Le profil du joueur existe et est connecté.
- Postcondition :
- Scénario principal :
- Le joueur rentre dans l'interface correspondante.
- Le joueur sélectionne la stratégie qu'il souhaite voir appliqué à un deck.
- Le joueur saisie le bouton "Générer par stratégie".
- Le logiciel va ajouter en priorité les cartes qui posséderont les effets parents et les effets enfants de la combinaisons la plus hautement pondéré lui permettant de démarrer la partie avec une probabilité efficace pour débuter le jeu, puis va sélectionner les effets des autres combinaisons par ordre décroissant de pondération jusqu'à ne plus trouver de combinaisons. Il va alors refaire le même cheminement jusqu'à atteindre la taille du deck générée aléatoirement par le logiciel (de manière à ce qu'il n'existe pas 2x le même deck stratégique).
- Scénario alternatif :
- Extension :