multiplayer pong game for LPC 1768
Dependencies: mbed MbedJSONValue mbed-rtos Adafruit_ST7735 Adafruit_GFX EthernetInterface DebouncedInterrupt
Revision 25:4a965eccb922, committed 2020-11-16
- Comitter:
- vsoltan
- Date:
- Mon Nov 16 03:44:23 2020 +0000
- Parent:
- 24:05eb0b0ab554
- Child:
- 26:ebadab157abe
- Commit message:
- resolved issue where player number and game started were not being initialized correctly
Changed in this revision
gamestate.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- 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,