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