class Player{ constructor(i, id, name){ this.turn = false; this.pairs = 0; this.cards = []; this.id = id; this.index = i; this.name = name; this.createDom(); this.updateDom(); } static getById(id){ for (let p of game.players){ if (p.id === id) return p; } } addPairs(pairs){ this.pairs += pairs; this.updateDom(); } updateDom(){ this.dom.find(".pairs-label").html("Pairs: " + this.pairs); } createDom(){ if (this.index % 2 == 0) this.dom = $("#left > div:eq(" + this.index / 2 + ")"); else this.dom = $("#right > div:eq(" + (this.index - 1) / 2 + ")"); this.dom.find("span").html(this.name); } isIn(players){ for (let p of players){ if (p.id === this.id) return true; } return false; } hasTurn(turn){ if (turn == null) return this.turn; this.turn = turn; if (turn) this.dom.find(".has-turn").css("background-color", "green"); else this.dom.find(".has-turn").css("background-color", "rgba(0, 0, 0, 0)"); } }