From 444f763aa38b405c9bfb9e27caa02955552ed266 Mon Sep 17 00:00:00 2001 From: zm343 <2639-zm343@users.noreply.gitlab.cci.drexel.edu> Date: Fri, 30 Aug 2024 17:21:50 +0000 Subject: [PATCH] Border Game Code --- src/models/WebSocketModel.js | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/models/WebSocketModel.js b/src/models/WebSocketModel.js index 6affa62..43336e4 100644 --- a/src/models/WebSocketModel.js +++ b/src/models/WebSocketModel.js @@ -11,6 +11,7 @@ class WebSocketModel { type: "public", started: false, readyPlayers: 0, + borderCounter: 0, }; this.games["game2"] = { gameBoard: gameModule.createGameBoard(10, 10), @@ -18,6 +19,7 @@ class WebSocketModel { type: "public", started: false, readyPlayers: 0, + borderCounter: 0, }; this.games["game3"] = { gameBoard: gameModule.createGameBoard(10, 10), @@ -25,6 +27,7 @@ class WebSocketModel { type: "public", started: false, readyPlayers: 0, + borderCounter: 0, }; this.sockserver = new WebSocketServer({ port: 3001 }); @@ -37,6 +40,22 @@ class WebSocketModel { this.games[game].gameBoard = gameModule.moveOneStep( this.games[game].gameBoard, ); + + if (!this.games[game].elapsedTime) { + this.games[game].elapsedTime = 0; + } + + this.games[game].elapsedTime++; + + //Every 10 seconds, generate borders + if (this.games[game].elapsedTime % 10 === 0) { + this.games[game].gameBoard = gameModule.applyBorders( + this.games[game].gameBoard, + this.games[game].borderCounter + ); + this.games[game].borderCounter++; + } + for (let conn of this.games[game].players) { conn.send( JSON.stringify({ @@ -68,6 +87,7 @@ class WebSocketModel { type: gameType, started: false, readyPlayers: 0, + borderCounter: 0, }; } @@ -140,7 +160,7 @@ class WebSocketModel { try { let message = JSON.parse(event); console.log("Received message: " + message); - // All messages are expected to have a type + //All messages are expected to have a type if (message.type === "move") { console.log("Received move: " + message.data); this.moveHandler(connection, message); -- GitLab