You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
maettleship/app.js

51 lines
1.1 KiB

const { Player } = require(`${__dirname}/businesses/Player.js`);
const { Room } = require(`${__dirname}/businesses/Room.js`);
const { Game } = require(`${__dirname}/game.js`);
const { io } = require(`${__dirname}/index.js`);
let room;
let game;
let players = [];
io.on("connection", (socket) => {
/* TODO : handle disconnection
socket.on("disconnect", (reason) => {
if (game.room.players.length === 2) {
game.endGame();
delete game.room;
}
console.debug(game);
});
*/
socket.on("first connection", (socketId, callback) => {
let player = new Player(socketId);
players.push(player);
callback({
player: player,
});
});
socket.on("Hello", (callback) => {
callback({
Hello: "World",
});
});
socket.on("room creation", (player) => {
room = new Room();
room.addPlayer(player);
});
socket.on("ask for room", (player) => {
room.addPlayer(player);
game = new Game(room);
game.validBoards();
game.start();
});
socket.on("play", (move) => {
game.move(move);
});
});