multiplayer pong game for LPC 1768

Dependencies:   mbed MbedJSONValue mbed-rtos Adafruit_ST7735 Adafruit_GFX EthernetInterface DebouncedInterrupt

Revision:
25:4a965eccb922
Parent:
23:c38680c32552
Child:
27:fcc5fee18a24
--- a/gamestate.cpp	Mon Nov 16 03:34:34 2020 +0000
+++ b/gamestate.cpp	Mon Nov 16 03:44:23 2020 +0000
@@ -9,6 +9,7 @@
     this->p1_loc = playerOneLocation;
     this->p2_loc = playerTwoLocation; 
     this->ball_loc = ballLocation; 
+    this->has_started = 0; 
     this->is_done = false; 
 }
 
@@ -27,10 +28,14 @@
 void GameState::update(MbedJSONValue *serverResponse, Graphics *gfx) {
     string typeResponse = (*serverResponse)["type"].get<std::string>(); 
     if (typeResponse == "connected") {
+        if (serverResponse->hasMember("player")) {
+          this->localPlayerNum = (char)(*serverResponse)["player"].get<int>();    
+        }
         gfx->renderWaitingRoom(); 
     } else if (typeResponse == "gameState") {
         if (!has_started) {
             has_started = 1; 
+            printf("reseting display\n\r");
             gfx->reset(); 
         }
         gfx->eraseGameState(this); 
@@ -52,11 +57,7 @@
             this->is_done = (char)(serverGameState)["isOver"].get<int>();    
             this->is_done = (char)(serverGameState)["isOver"].get<int>();
         }
-        
-        if (serverGameState.hasMember("player")) {
-          this->localPlayerNum = (char)(serverGameState)["player"].get<int>();    
-        }
-        
+    
         // TODO: check if hash has already been set
         if (serverGameState.hasMember("hash")) {
             strcpy(this->lobbyHash,