multiplayer pong game for LPC 1768

Dependencies:   mbed MbedJSONValue mbed-rtos Adafruit_ST7735 Adafruit_GFX EthernetInterface DebouncedInterrupt

Revision:
30:59e9a5409e65
Parent:
29:4708bfb863cb
Child:
31:f70cf03c8ef9
--- a/main.cpp	Sat Nov 28 01:05:42 2020 +0000
+++ b/main.cpp	Sat Nov 28 02:48:31 2020 +0000
@@ -60,6 +60,8 @@
         if (menuPress) {
             GameState *gs = new GameState();
             
+            printf("isDone? %i\n\r", gs->done()); 
+            
             // request an open lobby from the server 
             sock.sendTo(nist, connectionRequest, strlen(connectionRequest)); 
                         
@@ -68,7 +70,8 @@
             middleButton.reset(); 
             rightButton.attach(&pressRightGame, IRQ_RISE, DEBOUNCE);
             
-            while (!gs->done()) {
+            printf("isDone? %i\n\r", gs->done()); 
+            while (!gs->isConnected() || !gs->done()) {
                 if (sendFlag != 0) {
                     serverRequest["type"] = "move"; 
                     serverRequest["hash"] = "jaredyeagersflipflop"; 
@@ -83,6 +86,7 @@
                     sock.sendTo(nist, serverRequestPayload, requestLength);
                 }
                 int bytesRead = sock.receiveFrom(nist, tmp_buffer, sizeof(tmp_buffer));
+                printf("read: %s\n\r", tmp_buffer); 
                 tmp_buffer[bytesRead] = 0; 
                 if (bytesRead > 0) {
                     parse(serverResponse, tmp_buffer); 
@@ -101,6 +105,9 @@
             sock.sendTo(nist, disconnectRequestPayload, len);  
             gfx->renderGameOver(gs);
             
+            cleanupEthernet(&eth, &sock); 
+            initEthernet(&eth, &sock, &nist);
+            
             // reset the game  
             leftButton.attach(&pressButtonMenu, IRQ_RISE, DEBOUNCE);
             middleButton.attach(&pressButtonMenu, IRQ_RISE, DEBOUNCE);