Commit c39e5e93 authored by Corentin Guillevic's avatar Corentin Guillevic
Browse files

Upgrade interface Game and Player in composants.adoc

parent 220f0e9c
......@@ -2,88 +2,30 @@
== Liste des fonctions de l'interface Client-Serveur
=== Types à définir
PlayerType : Enumeration {Traque, Creature}
Score : {Int scoreTraque, Int scoreCreature}
Planet : List<{CarteLieu carte, List<Jeton> jetons}>
Reserve : List<{CarteLieu carte, Int quantity}>
Main : Fils = MainCreature, MainTraque
MainCreature : {List<CarteTraque> traques}
MainTraque : {List<CarteLieu> lieux, List<CarteLieu> defausse, List<CarteSurvie> survie, Int numberPionVolontes}
CreatureInformation : Pseudo, cartes traque jouées, nombre de cartes traque restantes, jetons joués, jetons non joués
TraqueInformation : Pseudo, cartes lieu defaussees, carte lieu visible, nombre de cartes lieu main, nombre de pion volonté, nombre de carte survie, cartes survie jouée
=== Client-side
- joinRoom(String roomId, String playerId) : Player "playerId" join the room "roomId"
- waitGameStart(String playerToken)
- getGameDescription(String playerToken) : Ask the room's informations (Entity of player, Main of player, Score, Reserve, Players and their "main" public)
- waitStartPhase(String playerToken, String idPhase)
- sendFinishPhase(String playerToken, String idPhase)
- sendPlayCards(String playerToken, List<Card> cards) : Play a list of cards (Lieu, Survie, Traque)
- sendPlaceJeton(String playerToken, List<Jeton,Lieu> jetons) : Place list of "jetons" in "lieu"
- sendResister(String playerToken) : Player wants to resist
- sendLacherPrise(String playerToken) : Player wants to give up
- sendChooseAction(String playerToken, String idAction) : Player choose an action (activate one power of CarteLieu, recover card, ...)
A RAJOUTER : sendPiocherCard()
=== Server-side
- sendConfirmation() : Send basic confirmation
- sendConfirmation(String data) : Send confirmation with data (json)
- sendError(String errorId, String message)
- sendGameDescription(Entity team, Main main, Score score, Planet planet, Reserve reserve, List<TraqueInformation> traques, CreatureInformation creature)
- sendGameStart()
- sendFirstRoundStart()
- sendStartPhase(String idPhase, Score score, Planet planet, Reserve reserve, List<TraqueInformation> traques, CreatureInformation creature)
=== Game Service
- createRoom(player : TPlayer) : TRoomId
- joinRoom(player : TPlayer, roomId : TRoomId) : Response
- sendStartGame(player : TPlayer, creatureId : Integer, board : TBoard, color : TColor, placeCards : Tcards[*]) : Response
- getGameDescription(player : TPlayer) : TDescription
- sendFinishPhase(player : TPlayer, phase : TPhase) : void
- sendPlayCards(player : TPlayer, playerCards : TCard[*]) : void
- sendPlaceJetons(player : TPlayer, placedJetons : TPlacedJeton[*]) : void
- sendResist(player : TPlayer, number : Integer) : void
- sendGiveUp(player : TPlayer) : void
=== Player Service
- sendGameDescription(gameDescription : TDescription) : void
- sendGameStart(): void
- sendGameIsFinished(common.TPlayerTeam winner) : void
- sendFirstRoundStart() : void
- sendStartPhase(phase : TPhase, gameDescription : TDescription) : void
- askAction(askedAction : TAskAction) : TAction
- sendAction(askedAction : TAskAction) : void
- sendResponse(response : Response) : void
== Components diagram
=== Decompose components recursively
Liste des composants :
- Carte (CarteLieu, CarteSurvie, CarteTraque)
- Pioche (Pioche, PiocheSurvie, PiocheTraque)
- Réserve
- Planète
- Main (Main, Défausse, PionVolonté, JetonCréature)
- Partie (Plateau, Tour)
- Pouvoir (Pouvoir, PouvoirComposite)
- Joueur (Créature, Traqué)
Liste des composants 2:
- Joueur (Créature, Traqué, Main)
- NotAlone (Carte, Pioche, Réserve, Planète, Partie, Pouvoir)
Liste des composants 3:
- Joueur (Créature, Traqué, Main)
- Entité (Carte, Pouvoir)
- Partie (Partie, Planète, Pioche, Réserve)
Liste des composants 4:
- NotAlone (Joueur, Créature, Traqué, Main, Carte, Pioche, Réserve, Planète, Partie, Pouvoir)
=== Technical components
- Base de données (Sauvegarde des joueurs, des cartes)
- Interface utilisateur (Client)
- Authentificateur (SecurityWrapper)
=== Final components
- Not alone (Joueur, Créature, Traqué, Main, Carte, Pioche, Réserve, Planète, Partie, Pouvoir)
- Base de données (Sauvegarde de joueurs)
- Authentificateur (SecurityWrapper)
......@@ -152,24 +94,26 @@ class "«interface» \n Security" as swi{
}
class "«interface» \n GameService" as si{
createRoom(playerId : PlayerId):RoomId
sendGameStart(playerId : PlayerId, creatureId : Integer, board : Board, color : Color, placeCards : Card[*] ):Response
joinRoom(playerId : PlayerId, roomId : RoomId):Response
getGameDescription(playerId : PlayerId):Response
waitStartPhase(playerId : PlayerId, phaseId : PhaseId):Response
sendFinishPhase(playerId : PlayerId, phaseId : PhaseId):Response
sendPlayCards(playerId : PlayerId, playerCards : Card[*] ):Response
sendPlaceJetons(playerId : PlayerId, placedJeton : PlacedJeton[*]):Response
sendResist(playerId : PlayerId):Response
sendGiveUp(playerId : PlayerId):Response
sendChooseAction(playerId : PlayerId, action : Action):Response
createRoom(player : TPlayer) : TRoomId
joinRoom(player : TPlayer, roomId : TRoomId) : Response
sendStartGame(player : TPlayer, creatureId : Integer, board : TBoard, color : TColor, placeCards : Tcards[*]) : Response
getGameDescription(player : TPlayer) : TDescription
sendFinishPhase(player : TPlayer, phase : TPhase) : void
sendPlayCards(player : TPlayer, playerCards : TCard[*]) : void
sendPlaceJetons(player : TPlayer, placedJetons : TPlacedJeton[*]) : void
sendResist(player : TPlayer, number : Integer) : void
sendGiveUp(player : TPlayer) : void
}
class "«interface» \n ClientService" as csi{
sendGameDescription(team : PlayerTeam, hand : Hand, score : Score, planet : Planet, reserve : Reserve, traqueInformation : TraqueInformation[*], creatureInformation : CreatureInformation)
sendGameStart()
sendFirstRoundStart()
sendStartPhase(phaseId : PhaseId, team : PlayerTeam, hand : Hand, score : Score, planet : Planet, reserve : Reserve, traqueInformation : TraqueInformation[*], creatureInformation : CreatureInformation)
class "«interface» \n PlayerService" as csi{
sendGameDescription(gameDescription : TDescription) : void
sendGameStart(): void
sendGameIsFinished(common.TPlayerTeam winner) : void
sendFirstRoundStart() : void
sendStartPhase(phase : TPhase, gameDescription : TDescription) : void
askAction(askedAction : TAskAction) : TAction
sendAction(askedAction : TAskAction) : void
sendResponse(response : Response) : void
}
....
......@@ -178,7 +122,6 @@ class "«interface» \n ClientService" as csi{
== Diagramme de séquence de mise en place
### Pour créer une partie
- Id du joueur : 5
......
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