diff --git a/archi.trash b/archi.trash new file mode 100644 index 0000000..db42964 --- /dev/null +++ b/archi.trash @@ -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 diff --git a/structModel.trash b/structModel.trash new file mode 100644 index 0000000..bd3fe29 --- /dev/null +++ b/structModel.trash @@ -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; + } + + + +}