Opa alguém poderia me ajudar?
estou quebrando a cabeça estou meio que fzd um game com sistema de fila
e então tenho 2 class
Match e matches
bom Até então tive esse logica:
const uuid = require("uuid");
// Match class is a single game Match structure
class Match {
constructor(players) {
this.id = uuid.v4().toString();
this.players = players;
this.isActive = false;
}
// Match rest methods...
}
module.exports = Match;
class matches:
class Matches {
constructor() {
this.matches = [];
}
addMatch(match) {
this.matches.push(match);
}
}
module.exports = Matches;
e no caso eu estaria faznedo isso no meu match:
const match = new Match(Players)
const matchies = new Matchies
matchies.addMatch(match)
Bom mas ai vem o primeiro problema, se eu quiser selecionar um match?
Como eu conseguiria fazer isso? ( acho que seria um pouco complicado, a não ser q eu salve esse id no front - end)
e eu queria ter uma função para ativar uma partida ( start ) e finalizar uma partida utilizando o isActive
Mas estou um pouco perdido de como fazer isso ou como melhorar esse codigo .
um ex se eu quiser buscar uma partida eu tenho que fazer isso
console.log(matches.matches[0]), mas ai quando eu quiser buscar uma partida mais especificadamente eu tenho que utilizar um find:
utilizando matches.getMatch(match.id)
para obter isso|:
<ref *1> Match {
id: [Circular *1],
players: [
Player { id: 2, name: 'test2', mmr: 1000 },
Player { id: 1, name: 'spt', mmr: 970 }
],
isActive: false
mas como eu estou criando o meu match dentro de um if eu não vou pdoer utilizar isso fora do meu if
queue.addPlayer(new Player(1,'spt',970));
queue.addPlayer(new Player(2,'test2',1000));
queue.addPlayer(new Player(3,'test3',1050));
queue.addPlayer(new Player(4,'test4',70));
const playerOne = queue.players.find((playerOne) => playerOne.mmr === 1000);
const players = queue.searching(playerOne);
queue.addPlayer(new Player(5,'test6',75));
if(players){
const match = new Match(players);
matches.addMatch(match);
matches.getMatch(match.id)
}