parent
650e89743d
commit
b171f5835e
@ -0,0 +1,19 @@
|
|||||||
|
# Coté client
|
||||||
|
- l'utilisateur récup le deck actuel
|
||||||
|
- lorsqu'il fait une action -> set/hyperSet
|
||||||
|
- envoie un event
|
||||||
|
- idRoom
|
||||||
|
- idPlayer
|
||||||
|
- deck
|
||||||
|
- carteJoué
|
||||||
|
|
||||||
|
|
||||||
|
# Coté serveur
|
||||||
|
|
||||||
|
- Crée le deck de base
|
||||||
|
- le donne a tous les joueurs
|
||||||
|
- A chaque action fais par un joueur
|
||||||
|
- Verif si le packet envoyé est le même que celui local
|
||||||
|
- verif si action est valable -> set ou pas
|
||||||
|
- envoie un event "updateDeck"
|
||||||
|
- update les points
|
@ -0,0 +1,88 @@
|
|||||||
|
room {
|
||||||
|
id= "INT",
|
||||||
|
player = [cle,valeur], // cle -> player || valeur -> nombre de points (possible de JSON ça)
|
||||||
|
deck = Deck
|
||||||
|
settings =
|
||||||
|
{
|
||||||
|
isHyperSet = BOOL,
|
||||||
|
isPublic = BOOL,
|
||||||
|
nbCards = INT,
|
||||||
|
nbAttribs = INT,
|
||||||
|
nbPlayers = INT
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fonctions =
|
||||||
|
{
|
||||||
|
checkFull()
|
||||||
|
{
|
||||||
|
return player.length === setting.nbPlayers
|
||||||
|
}
|
||||||
|
|
||||||
|
// utile pour enchainer les appel quand t'es sur de toi
|
||||||
|
getRoom(id)
|
||||||
|
{
|
||||||
|
let res = rooms.filter(element => e.id===id)
|
||||||
|
if(res)
|
||||||
|
{
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
createRoom(socket)
|
||||||
|
{
|
||||||
|
if(!getRoom(socket.id))
|
||||||
|
{
|
||||||
|
rooms.push({
|
||||||
|
id=id,
|
||||||
|
player=socket.nom,
|
||||||
|
deck = new Deck().create(),
|
||||||
|
settings{
|
||||||
|
isHyperSet = socket.hyper,
|
||||||
|
isPublic = socket.public,
|
||||||
|
nbCards = socket.cards,
|
||||||
|
nbAttribs = socket.attribs,
|
||||||
|
nbPlayer = 1
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// LeaveRoom
|
||||||
|
leaveRoom(){
|
||||||
|
let room = getRoom(rooms,id);
|
||||||
|
if(room.player.length === 1)
|
||||||
|
{
|
||||||
|
// Trouver une solution pour remove une room
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
let index = room.player.indexOf(idUser)
|
||||||
|
room.player.slice(index,1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
joinRoom(id)
|
||||||
|
{
|
||||||
|
let room = getRoom(id);
|
||||||
|
if(!room)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(room.setting.isPublic && room.player.length < room.setting.nbPlayer)
|
||||||
|
{
|
||||||
|
room.player.push(id)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in new issue