MultiplayerMinesweeper/scripts/game.mjs

44 lines
1,003 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
}
addPlayer(id, name) {
if (this.getAllNames().includes(name)) return false
var color = 1
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
}
}