From 8b496960aea57954e5e4531f105864de431166e2 Mon Sep 17 00:00:00 2001 From: Damien Perez Date: Sun, 13 Oct 2019 16:11:09 +0200 Subject: [PATCH 01/26] Ajout des noms des quatres membres du groupe --- src/doc/rapport-developpement.adoc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/doc/rapport-developpement.adoc b/src/doc/rapport-developpement.adoc index a34e767f..8f4a35fe 100644 --- a/src/doc/rapport-developpement.adoc +++ b/src/doc/rapport-developpement.adoc @@ -5,11 +5,11 @@ [options="header"] |=== -| Nom | Adresse -| Auteur_1 | auteur_1@etu.univ-nantes.fr -| Auteur_2 | auteur_2@etu.univ-nantes.fr -| Auteur_3 | auteur_3@etu.univ-nantes.fr -| Auteur_4 | auteur_4@etu.univ-nantes.fr +| Nom | Adresse + | Auteur_1 | bastien.leveille@etu.univ-nantes.fr +| Auteur_2 | nicolas.hawa@etu.univ-nantes.fr +| Auteur_3 | alissa.cosson@etu.univ-nantes.fr +| Auteur_4 | damien.perez@etu.univ-nantes.fr |=== == Introduction -- GitLab From be50df65003d09753c600c4b3001aa91f9fe0fe6 Mon Sep 17 00:00:00 2001 From: Damien Perez Date: Sat, 19 Oct 2019 15:42:18 +0200 Subject: [PATCH 02/26] Ajout du premier use case --- src/doc/_chapters/analyse-domaine.adoc | 44 +++++++++------- src/doc/_chapters/initit-game.adoc | 47 +++++++++++++++++ src/doc/_chapters/use-case-template.adoc | 64 ++---------------------- src/doc/rapport-developpement.adoc | 4 +- 4 files changed, 79 insertions(+), 80 deletions(-) create mode 100644 src/doc/_chapters/initit-game.adoc diff --git a/src/doc/_chapters/analyse-domaine.adoc b/src/doc/_chapters/analyse-domaine.adoc index 7768477e..9a4b6655 100644 --- a/src/doc/_chapters/analyse-domaine.adoc +++ b/src/doc/_chapters/analyse-domaine.adoc @@ -1,44 +1,53 @@ = Analyse du domaine - + == Introduction +Le jeu de Risk est un jeu de conquête de territoire qui se déroule sur une carte de 42 territoires. Le but étant de conquérir tout les territoires tout en défendant ceux déjà acquis. +A chaque fois qu'un joueur se retrouve sans territoire, il est éliminé de la partie. + === Objectif // Décrire l'objectif de ce chapitre. -Ce chapitre constitue le premier livrable d’une série de quatre chapitres destinés à fournir une analyse et une conception par objets complètes répondant au cahier des charges qui nous a été fourni. -Ce document présente l’ensemble de la démarche suivie ainsi que les résultats obtenus lors de la phase de l'analyse du domaine de notre système. +Ce chapitre constitue le premier livrable d’une série de quatre chapitres destinés à fournir une analyse et une conception par objets complètes répondant au cahier des charges qui nous a été fourni. +Ce document présente l’ensemble de la démarche suivie ainsi que les résultats obtenus lors de la phase de l'analyse du domaine de notre système. Il se décompose en plusieurs parties. -Dans la première partie, nous présentons de manière détaillée l’ensemble des cas d’utilisation que nous avons dégagés lors de l’analyse. -Nous utiliserons pour cela le canevas proposé par Cockburn que nous compléterons par des instantanés ainsi que par des post-conditions exprimées en OCL (Object Constraint Language) et quelques scenarii. +Dans la première partie, nous présentons de manière détaillée l’ensemble des cas d’utilisation que nous avons dégagés lors de l’analyse. +Nous utiliserons pour cela le canevas proposé par Cockburn que nous compléterons par des instantanés ainsi que par des post-conditions exprimées en OCL (Object Constraint Language) et quelques scenarii. Cette partie constitue une étape clé de la phase de l'analyse du domaine. -Dans la deuxième partie, nous présentons le diagramme de classes métiers (i.e. diagramme de classes au niveau analyse) que nous avons construit à partir de l’analyse réalisée. -Ce diagramme fournit une vue statique et synthétique du domaine de notre projet. +Dans la deuxième partie, nous présentons le diagramme de classes métiers (i.e. diagramme de classes au niveau analyse) que nous avons construit à partir de l’analyse réalisée. +Ce diagramme fournit une vue statique et synthétique du domaine de notre projet. Cette partie constitue également une étape clé de la phase de spécification des besoins. - -Dans la troisième er dernière nous fournissons le dictionnaire des données que nous avons construit suite à l'analyse du domaine. +Dans la troisième et dernière nous fournissons le dictionnaire des données que nous avons construit suite à l'analyse du domaine. Il s’agit d’un listing de l’ensemble des termes relatifs au domaine étudié ainsi que leur définition précise. - - -Dans une quatrième et dernière partie, +Dans une quatrième et dernière partie, === Organisation du chapitre -Ce chapitre est organisé en $n$ sections. Dans le première section, nous décrirons.... - +Ce chapitre est organisé en $n$ sections. Dans la première section, nous décrirons l'analyse du domaine de notre jeu de Risk. Nous nous baserons sur les règles officielles du jeu de Risk, avec cependant quelques modifications +que nous vous présenterons en début de section. +D'un point de vue fonctionnel, le jeu de Risk a deux cas d'utilisations, la mise en place d'un jeu et le déroulement d'un tour. +Nous allons détailler ces deux cas par la suite. == Cas d'utilisation -=== Mise en place d'un jeu +Comme cité plus haut, nous nous sommes basés sur les règles officielles (source: http://jeuxstrategie.free.fr/Risk_complet.php) mais avec quelques modifications. +Nous les détaillerons au fur et à mesure des cas d'utilisations mais ces changements concernent principalement l'attaque entre deux territoires. -include::use-case-template.adoc[leveloffset=+2] +Le jeu peut se jouer de 2 à 6 joueurs, la seule chose qui changera en fonction de l'augmentation du nombre de joueurs sera le nombre d'armées attribuées à chacun en début de partie. +Le jeu comporte 3 types de pions "armées", de valeurs respective 1,5 et 10. +Il comprends également 58 cartes, dont 14 cartes objectifs, et 44 cartes objectifs, qui comportent eux même 2 cartes joker. + +include::init-game.adoc[leveloffset=+2] +=== Déroulement d'un tour +include::use-case-template.adoc[leveloffset=+2] == Modèle de classes du domaine @@ -69,9 +78,8 @@ post resultOk: result = ... == Dictionnaire de données - + include::terms.adoc[] == Conclusion - diff --git a/src/doc/_chapters/initit-game.adoc b/src/doc/_chapters/initit-game.adoc new file mode 100644 index 00000000..8d8b8b3e --- /dev/null +++ b/src/doc/_chapters/initit-game.adoc @@ -0,0 +1,47 @@ +=== Mise en place d'un jeu + +*Use Case:* + +Le nombre de joueurs étant fixé, le système vas attribuer les pions et les cartes en fonctions du nombre de ces derniers. + +*Description* + +Au tout début de la partie, le système vas tout d'abord attribuer une couleur d'armée à chaque joueurs. +Il vas ensuite attribuer une carte objectif à chaque joueurs puis vas distribuer les armées: + +-2 joueurs: 40 armées chacun, +-3 joueurs: 35 armées chacun, +-4 joueurs: 30 armées chacun, +-5 joueurs: 25 armées chacun, +-6 joueurs: 20 armées chacun. + +Le système vas alors distribuer *toute* les 44 cartes objectifs aux joueurs, +qui vas ensuite pouvoir placer ses armées sur chacun des territoires qui lui ont été attribuer (tout en gardant minimum 1 armée sur chaque territoire) + +*acteurs principaux* + +Les acteurs principaux de ce use case sont : + -le système qui vas organiser l'ensemble de la partie. + -les joueurs (de 2 à 6), qui vont s'affronter. + +*Pre-Conditions* + +Il doit y avoir un nombre de joueurs compris entre [2,6]. +Aucune armée ne doit être présente sur le terrain, et aucun joueurs de doit avoir de cartes. + +*Post Conditions* + +Chaque joueur à le même nombre d'armée posée sur le plateau. +Tout les territoires appartenant aux joueurs doivent avoir au moins une armée. + +*Déclenchement* + +Une nouvelle partie vient d'être lancée et tout les joueurs sont prêts. + +=== Hypothèses + +Comment les territoires des joueurs avec leurs armées seront représentés ? + +=== To do + +Mettre en place le bon déroulement de ce cas d'utilisation. diff --git a/src/doc/_chapters/use-case-template.adoc b/src/doc/_chapters/use-case-template.adoc index d8f7700e..f0114fcd 100644 --- a/src/doc/_chapters/use-case-template.adoc +++ b/src/doc/_chapters/use-case-template.adoc @@ -1,62 +1,6 @@ -== Use Case Template +=== Mise en place d'un jeu -Version 1.20 - -*Instructions for removing the ‘Hints, Guidelines and Examples’ from -this document* - -After you have completed the Use Case document, you may want to remove -the hints and guidelines provided in the document. - -To remove the hints: (This procedure applies to Microsoft Word XP and -higher) - -[arabic] -. Click on any text formatted as Hint. -. Then, click the right mouse button. -. A pop-up menu will appear, choose ‘Select text with similar -formatting’ -. All Hint text will now be selected in the document. -. *Ensure that none of the text that you have entered is in the -selection.* -. Press the _Delete_ key to remove the _Hints , Guidelines and -examples._. - -=== Revision History + - -[cols=",,",options="header",] -|=== -|Date |Author |Description of change -| | | -| | | -| | | -| | | -| | | -| | | -| | | -|=== - -Use Case Template. Copyright (c) 2004-2005 TechnoSolutions Corporation - -(Learn more about “TopTeam for Use Cases” at -http://www.technosolutions.com[[.underline]#www.technosolutions.com#]) - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this document and its associated documentation, to use the -document on their projects for any commercial or non-commercial purpose. -However you may not publish, distribute, sublicense, and/or sell copies -of this document. - -THE DOCUMENT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -DOCUMENT OR THE USE OR OTHER DEALINGS IN THE DOCUMENT. TECHNOSOLUTIONS -CORPORATION MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THIS -DOCUMENT FOR ANY PURPOSE. + -*Use Case:* +*Use Case:* -=== Special Requirements +=== Special Requirements -=== Issues +=== Issues [arabic] . {blank} diff --git a/src/doc/rapport-developpement.adoc b/src/doc/rapport-developpement.adoc index 8f4a35fe..d99334ff 100644 --- a/src/doc/rapport-developpement.adoc +++ b/src/doc/rapport-developpement.adoc @@ -5,8 +5,8 @@ [options="header"] |=== -| Nom | Adresse - | Auteur_1 | bastien.leveille@etu.univ-nantes.fr +| Nom | Adresse +| Auteur_1 | bastien.leveille@etu.univ-nantes.fr | Auteur_2 | nicolas.hawa@etu.univ-nantes.fr | Auteur_3 | alissa.cosson@etu.univ-nantes.fr | Auteur_4 | damien.perez@etu.univ-nantes.fr -- GitLab From 59c5955f02924bc02423e3d1370945f3c8053a59 Mon Sep 17 00:00:00 2001 From: Damien Perez Date: Sat, 19 Oct 2019 15:44:14 +0200 Subject: [PATCH 03/26] Correction faute d'orthographe --- src/doc/_chapters/{initit-game.adoc => init-game.adoc} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/doc/_chapters/{initit-game.adoc => init-game.adoc} (100%) diff --git a/src/doc/_chapters/initit-game.adoc b/src/doc/_chapters/init-game.adoc similarity index 100% rename from src/doc/_chapters/initit-game.adoc rename to src/doc/_chapters/init-game.adoc -- GitLab From 544ede6aa9a6e20eff5fb65c1ea066f10f561c5e Mon Sep 17 00:00:00 2001 From: Damien Perez Date: Sat, 19 Oct 2019 15:46:26 +0200 Subject: [PATCH 04/26] Correction indentation --- src/doc/_chapters/init-game.adoc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/doc/_chapters/init-game.adoc b/src/doc/_chapters/init-game.adoc index 8d8b8b3e..92c048ef 100644 --- a/src/doc/_chapters/init-game.adoc +++ b/src/doc/_chapters/init-game.adoc @@ -1,6 +1,6 @@ === Mise en place d'un jeu -*Use Case:* +*Use Case:* Initialisation de la partie Le nombre de joueurs étant fixé, le système vas attribuer les pions et les cartes en fonctions du nombre de ces derniers. @@ -10,9 +10,13 @@ Au tout début de la partie, le système vas tout d'abord attribuer une couleur Il vas ensuite attribuer une carte objectif à chaque joueurs puis vas distribuer les armées: -2 joueurs: 40 armées chacun, + -3 joueurs: 35 armées chacun, + -4 joueurs: 30 armées chacun, + -5 joueurs: 25 armées chacun, + -6 joueurs: 20 armées chacun. Le système vas alors distribuer *toute* les 44 cartes objectifs aux joueurs, @@ -21,7 +25,9 @@ qui vas ensuite pouvoir placer ses armées sur chacun des territoires qui lui on *acteurs principaux* Les acteurs principaux de ce use case sont : + -le système qui vas organiser l'ensemble de la partie. + -les joueurs (de 2 à 6), qui vont s'affronter. *Pre-Conditions* -- GitLab From 9779125ce5b5be89fd77b60ef103e0187f4a6e1a Mon Sep 17 00:00:00 2001 From: Damien Perez Date: Sun, 20 Oct 2019 14:37:32 +0200 Subject: [PATCH 05/26] Ajout du dernier use case dans l'analyse du domaine --- src/doc/_chapters/analyse-domaine.adoc | 8 +- src/doc/_chapters/deroulement-tour.adoc | 84 ++++++++ src/doc/_chapters/init-game.adoc | 9 +- src/doc/_chapters/use-case-template.adoc | 256 ----------------------- src/doc/rapport-developpement.adoc | 10 +- 5 files changed, 101 insertions(+), 266 deletions(-) create mode 100644 src/doc/_chapters/deroulement-tour.adoc delete mode 100644 src/doc/_chapters/use-case-template.adoc diff --git a/src/doc/_chapters/analyse-domaine.adoc b/src/doc/_chapters/analyse-domaine.adoc index 9a4b6655..9bd1f151 100644 --- a/src/doc/_chapters/analyse-domaine.adoc +++ b/src/doc/_chapters/analyse-domaine.adoc @@ -2,7 +2,7 @@ == Introduction -Le jeu de Risk est un jeu de conquête de territoire qui se déroule sur une carte de 42 territoires. Le but étant de conquérir tout les territoires tout en défendant ceux déjà acquis. +Le jeu de Risk est un jeu de conquête de territoire qui se déroule sur une carte de 42 territoires. Le but étant de réussir sa mission ou de conquérir tout les territoires tout en défendant ceux déjà acquis. A chaque fois qu'un joueur se retrouve sans territoire, il est éliminé de la partie. === Objectif @@ -41,13 +41,11 @@ Nous les détaillerons au fur et à mesure des cas d'utilisations mais ces chang Le jeu peut se jouer de 2 à 6 joueurs, la seule chose qui changera en fonction de l'augmentation du nombre de joueurs sera le nombre d'armées attribuées à chacun en début de partie. Le jeu comporte 3 types de pions "armées", de valeurs respective 1,5 et 10. -Il comprends également 58 cartes, dont 14 cartes objectifs, et 44 cartes objectifs, qui comportent eux même 2 cartes joker. +Il comprends également 58 cartes, dont 14 cartes objectifs, et 44 cartes territoires, de type (canon, France). include::init-game.adoc[leveloffset=+2] -=== Déroulement d'un tour - -include::use-case-template.adoc[leveloffset=+2] +include::deroulement-tour.adoc[leveloffset=+2] == Modèle de classes du domaine diff --git a/src/doc/_chapters/deroulement-tour.adoc b/src/doc/_chapters/deroulement-tour.adoc new file mode 100644 index 00000000..147050a0 --- /dev/null +++ b/src/doc/_chapters/deroulement-tour.adoc @@ -0,0 +1,84 @@ +*Déroulement d'un tour* + +*Use Case:* Actions effectuées au cours d'un tour + +La partie a commencer, chaque Joueur vas ainsi pouvoir faire une suite d'actions +et le système pourra réagir en fonction de ces derniers. + +*Description* + +Le système commence par donner au Joueur dont c'est le tour, un nombre d'armée égale à +la valeur absolue du nombre d'armée qu'il possède divisé par 3. Ensuite si il possède un ou plusieurs +continents entiers il reçoit en fonction du continent: + +-Océanie: 2 armées supplémentaire, + +-Amérique du sud: 2 armées supplémentaire, + +-Afrique: 3 armées supplémentaire, + +-Europe: 5 armées supplémentaire, + +-Amérique du nord: 5 armées supplémentaire, + +-Asie: 7 armées supplémentaire. + +Ensuite, si le Joueur a plus de 3 cartes territoire dans sa main il peut, s'il le souhaite, échanger avec le système un nombre d'armées en +échange des types d'armes présentes sur ses cartes territoires: + +-Avec trois fantassins: 3 armées supplémentaire, + +-Avec trois cavaliers: 5 armées supplémentaire, + +-Avec trois canons: 8 armées supplémentaire, + +-Avec 1 canon, 1 cavalier, 1 fantassin: 10 armées supplémentaire. + +Si dans la combinaison, le Joueur possède l'un des territoire marqué sur l'une des trois cartes, il reçoit 2 armées supplémentaires par territoire possédé. +Pour finir, *si le Joueur possède 5 cartes territoires dans sa main*, il est obligé de faire l'échange cité précédemment. + +Une fois que les armées ont étés attribuées, le Joueur peut effectuer différentes actions qui seront listées par la suite, jusqu'à ce qu'il ai gagné, +ou qu'il ne puisse/souhaite plus attaquer ou se déplacer. + +*acteurs principaux* + +Les acteurs principaux de ce use case sont : + + -le système qui vas donner les cartes ou les armées. + + -les Joueurs (de 2 à 6), qui vont s'attaquer, ou déplacer leurs armées. + +*Pre-Conditions* + +Le Joueur est encore dans la partie. +Avant de pouvoir effectuer une action, le Joueur doit recevoir ses nouvelles armées. +Avant de pouvoir attaquer, le Joueur doit avoir 2 armées ou plus sur le territoire attaquant. +Le Joueur ne peut attaquer un territoire que si le territoire avec lequel il souhaite attaquer est frontalier ou dispose d'un chemin maritime. +Si le Joueur a déjà effectué un déplacement, il ne peut pas en effectuer un autre. +Le Joueur ne peut pas effectuer un déplacement d'un territoire vers un autre si il ne lui reste qu'une armée sur le territoire de départ. + +*Post Conditions* + +Le Joueur ne peut plus effectuer d'actions. +Le joueur ne peut pas être éliminé avant le 4ème tour de jeu. + +*Déclenchement* + +C'est au tour du Joueur. + +*Scénario Nominal* + +[arabic] +. Le Joueur a reçu toute les armées qui lui sont dues par le système. +. Le Joueur peut maintenant réaliser les étapes suivantes dans l'ordre voulu: + . Le Joueur peut effectuer un déplacement en respectant les règles énoncées ci-dessus. + . Le Joueur peut attaquer d'un territoire vers un autre en respectant les règles ci-dessus. + Si il gagne le territoire (il a vaincu toute les armées adverse), il déplace les armées engagées lors de la bataille + Sur le territoire conquis et gagne une carte territoire. + Le Joueur peut enchaîner les attaques sans ordre précis incluant les territoires conquis. +. Si le Joueur vient d'éliminer un adversaire en détruisant la dernière armée dans le dernier territoire de cet adversaire, + Il récupère alors les cartes de ce dernier et peut les échanger contre des armées avec le système pour les placer où il le souhaite. + +*To do* + +Mettre en place le déroulement d'une partie. diff --git a/src/doc/_chapters/init-game.adoc b/src/doc/_chapters/init-game.adoc index 92c048ef..a9c0d0b0 100644 --- a/src/doc/_chapters/init-game.adoc +++ b/src/doc/_chapters/init-game.adoc @@ -1,4 +1,4 @@ -=== Mise en place d'un jeu +*Mise en place d'un jeu* *Use Case:* Initialisation de la partie @@ -19,7 +19,7 @@ Il vas ensuite attribuer une carte objectif à chaque joueurs puis vas distribue -6 joueurs: 20 armées chacun. -Le système vas alors distribuer *toute* les 44 cartes objectifs aux joueurs, +Le système vas alors distribuer *toutes* les 44 cartes objectifs aux joueurs, qui vas ensuite pouvoir placer ses armées sur chacun des territoires qui lui ont été attribuer (tout en gardant minimum 1 armée sur chaque territoire) *acteurs principaux* @@ -44,10 +44,11 @@ Tout les territoires appartenant aux joueurs doivent avoir au moins une armée. Une nouvelle partie vient d'être lancée et tout les joueurs sont prêts. -=== Hypothèses +*Hypothèses* +Comment le système choisis le joueur qui commence en premier Comment les territoires des joueurs avec leurs armées seront représentés ? -=== To do +*To do* Mettre en place le bon déroulement de ce cas d'utilisation. diff --git a/src/doc/_chapters/use-case-template.adoc b/src/doc/_chapters/use-case-template.adoc deleted file mode 100644 index f0114fcd..00000000 --- a/src/doc/_chapters/use-case-template.adoc +++ /dev/null @@ -1,256 +0,0 @@ -=== Mise en place d'un jeu - -*Use Case:* - - - -*Id*: UC- - - - -*Description* - - - - - -*Level:* - - - -*Primary Actor* - - - - - -*Supporting Actors* - - - - - -*Stakeholders and Interests* - - - -