diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..d9c4057 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,30 @@ +kind: pipeline +type: docker +name: maettleship + +trigger: + event: + - push + +steps: + - name: maettleship-build + image: plugins/docker + settings: + dockerfile: Dockerfile + context: . + registry: hub.codefirst.iut.uca.fr + repo: hub.codefirst.iut.uca.fr/vincent.astolfi/maettleship + username: + from_secret: registry-username + password: + from_secret: registry-password + + - name: maettleship-deployment + image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest + environment: + IMAGENAME: hub.codefirst.iut.uca.fr/vincent.astolfi/maettleship:latest + CONTAINERNAME: maettleship + COMMAND: create + OVERWRITE: true + ADMINS: vincentastolfi + depends_on: [maettleship-build] diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..056d804 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM node:10 +WORKDIR /usr/src/app +COPY ./ ./ +RUN sed -i '1i\' ./public/index.html +RUN npm install +EXPOSE 8081 +CMD [ "npm", "run", "dev" ] diff --git a/Game.js b/Game.js index 399ca94..04402aa 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 2f61a73..33c4ab1 100644 --- a/app.js +++ b/app.js @@ -1,7 +1,7 @@ -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; 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, }; diff --git a/public/index.html b/public/index.html index d2b2aa7..973baf8 100644 --- a/public/index.html +++ b/public/index.html @@ -42,7 +42,7 @@

WIN !

- - + +