Commit e9a9593a authored by Antoine Guérin's avatar Antoine Guérin
Browse files

Conception préliminaire, connexion des joueurs et phase1(en cours)

parent 5a3a1d9b
......@@ -20,16 +20,17 @@
@endmindmap
....
Composante Carte :
La composante Carte, définit tout simplement une carte dans le jeu. Il y a 3 types de cartes, les cartes Lieu, Traque et Survie.
*Composante Carte :*
La composante Carte définit tout simplement une carte dans le jeu. Il y a 3 types de cartes, les cartes Lieu, Traque et Survie.
Une carte est composée d'un nom et d'un pouvoir peut importe son type.
Chaques types de cartes possèdent des attributs différents.
Chaques types de cartes possèdent des attributs supplémentaires, spécifiques à chaque type de cartes.
Les cartes Lieu possèdent, en plus d'un nom et d'un pouvoir, un numéro de 1 à 10. La planète est composée de 10 cartes Lieu différentes.
Les cartes Traque possèdent une phase et un symbole.
Les cartes Survie ne possèdent rien d'autre qu'un nom et un pouvoir.
La classe Carte :
*La classe Carte :*
[plantuml, Composante-Carte, png]
....
hide circle
......@@ -58,7 +59,7 @@ Carte <|-- CarteTraque : \t\t
....
les différentes Carte Lieu :
Les différentes Carte Lieu :
[plantuml, CarteLieu, png]
....
......@@ -131,22 +132,21 @@ CarteLieu --> CarteLieu10 : \t\t
....
Composante Jeton :
*Composante Jeton :*
La composante Jeton, définit les jetons Traque.
Un jeton possède un nom et un état. L'état indique si le jeton est présent sur une carte.
Composante Joueur :
*Composante Joueur :*
La composante Joueur, définit un joueur dans le jeu.
Soit le joueur est la créature, soit il incarne un traqué.
Chaque joueur possède un nom.
Le joueur Créature a en plus les 3 jetons Traque et des carte Traque.
Le joueur Traque a lui 5 cartes Lieu et 3 pions Volonté.
Le joueur Traque a lui 5 cartes Lieu, 1 carte Survie et 3 pions Volonté.
La classe Joueur :
_La classe Joueur :_
[plantuml, Composante-Joueur, png]
....
hide circle
......@@ -164,6 +164,7 @@ class Creature {
class Traque {
jetonVolonte : Jeton
carteLieu : ArrayList<Carte>
carteSurvie : ArrayList<Carte>
}
Joueur <|-- Creature : \t\t
......@@ -171,12 +172,12 @@ Joueur <|-- Traque : \t\t
....
Composante Pion :
*Composante Pion :*
La composante Pion, définit un pion dans le jeu.
Il y a plusieurs type de pion, Secours, Assimilation, Balise, Volonté.
Il y a plusieurs type de pions : Secours et Assimilation
La classe Pion :
_La classe Pion :_
[plantuml, Composante-Pion, png]
....
hide circle
......@@ -186,41 +187,41 @@ class Pion {
position : Integer
}
class PionSecour {
class PionSecours {
}
class PionAssimilation {
}
Pion <|-- PionSecour : \t\t
Pion <|-- PionSecours : \t\t
Pion <|-- PionAssimilation : \t\t
....
Composante Plateau :
*Composante Plateau :*
La composante Plateau, définit le plateau du jeu.
Le plateau possède un pions secours et un pions Assimilation.
Ces pions vont se déplacer dans un tableau, et si un pion arrive à la fin du tableau alors cela marque la fin du jeu.
Le plateau possède un pion Secours et un pion Assimilation.
L'entier position du pion correspond à sa distance de la case Victoire sur le plateau.
La classe Plateau :
_La classe Plateau :_
[plantuml, Composante-Plateau, png]
....
hide circle
skinparam monochrome true
class Plateau {
pionSecour : PionAssimilation
pionSecours : PionSecours
pionAssimilation : PionAssimilation
}
....
Définir les actions :
*Définir les actions :*
resister() : Résister fait perdre au Traqué 1 ou 2 pions Volonté pour reprendre en main respectivement 2 ou 4 carte Lieu au choix de sa défausse.
_resister(entier perdrePion)_ : Résister fait perdre au Traqué 1 ou 2 pions Volonté (valeur passé en paramètre) pour reprendre en main respectivement 2 ou 4 cartes Lieu au choix de sa défausse.
Si par cette action un Traqué perd son troisième pion Volonté, il doit lacherPrise.
exemple :
......@@ -323,10 +324,10 @@ Traque - "defausse [0-10]" CarteLieu : \t\t
....
lacherPrise() : Le traqué récupère ses pions Volonté et reprends en main toutes ses cartes Lieu défaussées.
_lacherPrise()_ : Le traqué récupère ses pions Volonté et reprends en main toutes ses cartes Lieu défaussées.
Mais cet abandon de soi accélère l'assimilation.
exemple :
Exemple :
avant éxécution
[plantuml, exemple-avant-lacherPrise, png]
....
......@@ -429,7 +430,7 @@ class CarteLieu
class CarteSurvie
class CarteTraque
class Pion
class PionSecour
class PionSecours
class PionAssimilation
class Jeton
class JetonCreature
......
......@@ -2,37 +2,49 @@
== Création d'une partie
.Join game
[plantuml]
[.lead]
*Diagramme de séquence de la connexion des joueurs à une partie :*
[plantuml, diag-seq-connect, png]
....
participant "__one:Player__" as player1
participant "__two:Player__" as player2
participant "__three:Player__" as player3
participant "__four:Player__" as player4
participant "__five:Player__" as player5
participant "__six:Player__" as player6
participant "__game:GameServer__" as game
player1 -> game : id := createGame(6)
par
player1 -> game : playerId := join(id, one)
player2 -> game : playerId := join(id, two)
player3 -> game : playerId := join(id, three)
player4 -> game : playerId := join(id, four)
player5 -> game : playerId := join(id, five)
player6 -> game : playerId := join(id, six)
end
skinparam monochrome true
skinparam dpi 400
actor Albert
Albert->ClientWeb: play("Albert")
ClientWeb->ServeurNotAlone: newPlayer("Albert")
ServeurNotAlone<-Caroline_ClientWeb: newPlayer("Caroline")
ClientWeb->ServeurNotAlone: createGame("MyPassWord",extension)
ServeurNotAlone->Caroline_ClientWeb: newGame("MyPassWord")
ClientWeb<-ServeurNotAlone: "MyPassWord"
ServeurNotAlone<-Caroline_ClientWeb: join("MyPassWord")
ClientWeb->ServeurNotAlone: playGame()
....
.Questions ouveres (à faire)
- Les joeurs ne peuvent pas envcoyer juste une `id`, ils doivent aussi envoyer une adress/port pour que le serveur puisse les contacter
- Le serveur doit prévenir les joueurs du début de la partie.
[.lead]
*Diagrammes de séquences de la partie*
Diagramme de séquence pour la phase 1 :
.L'interface GameServer
[plantuml]
[plantuml, diag-seq-phase1, png]
....
interface GameServer {
createGame(numberOfPlayers : Integer): Integer
join(gameId : Integer): Integer
}
skinparam monochrome true
skinparam dpi 400
actor Albert
Albert->ClientWeb: resiter(1)
ClientWeb->ServeurNotAlone
....
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment