extendextendextend
PlayerList RoomsCreate RoomJoin Room at position with nameAnnounce ContractPlay CardCoincheSurCoincheNormal contractPasseMake AnnounceBeloteRebeloteDix de der
PlayerServerlistRooms()rooms:Room[]createRoom(title:String)room:RoomjoinRoom(name:String,position:Position)result:booleanannounceContract(contract:Contract)result:booleanplayCard(card:Card,announces:Announce[])result:boolean
0..*stackTurns 0..*stackContracts 0..*0..4
ServerlistRooms():Room[]createRoom(title:String):RoomjoinRoom(room:Room,name:String,position:Position):booleanannounceContract(room:Room,position:Position,contract:Contract):booleanplayCard(room:Room,position:Position,card:Card,announce:Announce[]):booleanRoomtitle:StringParticipantname:Stringposition:PositionPositionEnumStorageContractNormalContractvalue:Integercolor:ColorAnnounceColorCoincheSurCoincheTurnBeloteRebeloteDix de derCardvalue:Integercolor:Color
no
Room createdPlayer joins roomAlready 4WaitDistributionPlayer announce ContractFinished contract phaseWaitPlay Card, with optional announceFinished 32 cardsWaitDisplay scores