multiplayer pong game for LPC 1768
Dependencies: mbed MbedJSONValue mbed-rtos Adafruit_ST7735 Adafruit_GFX EthernetInterface DebouncedInterrupt
Diff: gamestate.cpp
- 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,