multiplayer pong game for LPC 1768

Dependencies:   mbed MbedJSONValue mbed-rtos Adafruit_ST7735 Adafruit_GFX EthernetInterface DebouncedInterrupt

gamestate.cpp

Committer:
vsoltan
Date:
2020-11-14
Revision:
17:32ae1f106002
Parent:
15:9d90f68e53da
Child:
18:32fce82690a1

File content as of revision 17:32ae1f106002:


#include "gamestate.h"

GameState::GameState() {
    Coord playerOneLocation = {0, 0};
    Coord playerTwoLocation = {0, 0};
    Coord ballLocation = {0, 0};
    this->localPlayer = 0; 
    this->p1_loc = playerOneLocation;
    this->p2_loc = playerTwoLocation; 
    this->ball_loc = ballLocation; 
    this->is_done = false; 
}

Coord GameState::getPlayerOneLocation() {
    return this->p1_loc; 
}

Coord GameState::getPlayerTwoLocation() {
    return this->p2_loc; 
} 

Coord GameState::getBallLocation() {
    return this->ball_loc; 
}

void GameState::update(MbedJSONValue *serverResponse) {
    this->p1_loc.y = (*serverResponse)["playerOnePos"].get<int>(); 
    this->p2_loc.y = (*serverResponse)["playerTwoPos"].get<int>(); 
    int updated_ball_x = (*serverResponse)["ballPos"][0].get<int>(); 
    int updated_ball_y = (*serverResponse)["ballPos"][1].get<int>(); 
    this->ball_loc.x = updated_ball_x; 
    this->ball_loc.y = updated_ball_y;
    this->is_done = (bool)(*serverResponse)["isOver"].get<int>(); 
}

void GameState::print() {
    //char to_string[256]; 
//    sprintf(to_string, "Player1 Pos: [%i, %i], Player 2 Pos: [%i, %i], Ball Pos: [%i, %i], isOver: %i", this->p1_loc->x, this->p1_loc->y, this->p2_loc->x, this->p2_loc->y, this->ball_loc->x, this->ball_loc->y, this->is_done);
//    printf("Game State: %s\n\r", to_string); 
}

bool GameState::done() {
    return this->is_done; 
}