MultiplayerMinesweeper/scripts/game.mjs

43 lines
992 B
JavaScript
Raw Normal View History

2022-06-22 01:51:09 +00:00
import {Player} from "./player.mjs"
import * as log from "./log.mjs"
import {roomManager} from "./roomManager.mjs"
import { World} from "./world/world.mjs"
export class Game {
constructor(id, options) {
this.id = id;
2022-06-22 01:51:09 +00:00
this.players = [];
this.world = new World(options)
2022-06-22 01:51:09 +00:00
}
2022-06-23 20:18:23 +00:00
addPlayer(id, name, color) {
2022-06-22 01:51:09 +00:00
if (this.getAllNames().includes(name)) return false
const player = new Player(id, name, color);
this.players.push(player);
return player
}
removePlayerByID(id) {
this.players = this.players.filter(obj => obj.id != id);
log.log("removed player - " + id)
if (this.players.length < 1) {
roomManager.removeGameByID(this.id);
2022-06-22 01:51:09 +00:00
}
}
getAllIDs() {
let ids = []
for (let i = 0; i < this.players.length; i++) {
ids.push(this.players[i].id)
}
return ids
}
getAllNames() {
let names = []
for (let i = 0; i < this.players.length; i++) {
names.push(this.players[i].name)
}
return names
}
}