Olá estou tentando fazer um game joken po em node js e socket.io com sequelize etc etc
Bom basicmanete criei 3 modulos
Player
Match
MatchManager
no meu player:
const player = require('../models/User');
const jogada = {
pedra:{
id:1
},
papel:{
id:2
},
tesoura:{
id:3
}
};
const socketId = null
class Player {
constructor({socket, name = "", jogada = "", points = ""}) {
socketId = socket.socket.id
this.id = player.id;
this.name = player.name;
this.points = player.points
this.jogada = jogada;
}
}
module.exports = Player;
no meu match:
class Match {
constructor() {
this.player1 = null;
this.player2 = null;
}
addPlayer(player) {
if (!this.player1)
this.player1 = player;
else if (!this.player2)
this.player2 = player;
else throw "Room is full!";
}
isOpen() {
return !this.player1 || !this.player2;
}
isFull() {
return this.player1 && this.player2;
}
}
module.exports = Match;
no meu match manager:
const Match = require("./Match");
class MatchManager {
constructor() {
this.matchs = [];
}
createRoom() {
this.matchs.push(new Match());
}
putPlayerOnFirstFreeSpace(player) {
for (let match of this.matchs) {
if (match.isOpen()) {
match.addPlayer(player);
return match;
}
}
this.createRoom();
return this.putPlayerOnFirstFreeSpace(player);
}
play(player){
}
verifyResult(){
}
}
module.exports = MatchManager;
Eu estou com dificuldade em fazer a logica da jogada do player ( e acho que botei no lugar errado creio eu que fosse pare ser no player e não no matchmanager)
Bom um player irá clicar em um button ( pedra papel tesoura ), irei enviar isso para o meu socket, junto com um id do usuario que ele está logado e irei criar um player, mas eu fiquei com dúvida em como guardar essas jogadas do player um e player dois para enviar para verificação ( verificarResultado, para ver qual player ganhou e onde eu iria aumentar os pontos)
Se alguém poder me dar uma força …