diff --git a/Dockerfile b/Dockerfile index 01a5b6e..056d804 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,6 +3,5 @@ WORKDIR /usr/src/app COPY ./ ./ RUN sed -i '1i\' ./public/index.html RUN npm install -RUN npm install -g nodemon -EXPOSE 8080 +EXPOSE 8081 CMD [ "npm", "run", "dev" ] diff --git a/Game.js b/Game.js index 2bea00b..2556ba0 100644 --- a/Game.js +++ b/Game.js @@ -1,5 +1,3 @@ -const { io } = require(`${__dirname}/index.js`); - class Game { constructor(room) { this.room = room; diff --git a/app.js b/app.js index 4086a2e..1569c8b 100644 --- a/app.js +++ b/app.js @@ -1,22 +1,12 @@ -const { io } = require(`${__dirname}/index.js`); 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; 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("Hello", (callback) => { callback({ Hello: "World", diff --git a/index.js b/index.js index 0ccd9e5..1320451 100644 --- a/index.js +++ b/index.js @@ -4,6 +4,12 @@ const http = require("http").createServer(app); const path = require("path"); const port = 8081; const io = require("socket.io")(http); +const { Player } = require(`${__dirname}/businesses/Player.js`); +const { Room } = require(`${__dirname}/businesses/Room.js`); +const { Game } = require(`${__dirname}/game.js`); + +let room; +let game; app.use(express.static("public")); @@ -15,6 +21,36 @@ app.get("/", (req, res) => { res.sendFile(path.join(__dirname, "/public/index.html")); }); +io.on("connection", (socket) => { + socket.on("Hello", (callback) => { + callback({ + Hello: "World", + }); + }); + + socket.on("room creation", (socketId) => { + let player = new Player(socketId); + player.grid.cases[2][2].isShip = true; + player.grid.cases[3][2].isShip = true; + room = new Room(); + room.addPlayer(player); + }); + + socket.on("ask for room", (socketId) => { + if (room.players.length === 1) { + let player = new Player(socketId); + player.grid.cases[2][2].isShip = true; + room.addPlayer(player); + game = new Game(room); + game.start(); + } + }); + + socket.on("play", (move) => { + game.move(move); + }); +}); + module.exports = { io, };