Changeset 426fb84 in network-game


Ignore:
Timestamp:
Nov 10, 2014, 3:12:54 AM (10 years ago)
Author:
Dmitry Portnoy <dmp1488@…>
Branches:
master
Children:
a9a1295
Parents:
347d768
Message:

Save the actual time a game ends to the databse and send it to the client as part of a player's game history

Location:
server
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • server/DataAccess.cpp

    r347d768 r426fb84  
    178178{
    179179   // each array is the score for one game
    180    // the columns are result, team, blue score, and red score
     180   // the columns are result, team, blue score, red score, and time the game ended
    181181   // for result 0 is defeat and 1 is victory
    182182   // for team, 1 is blue and 2 is red
     
    197197   int i=0;
    198198   while ( ( row = mysql_fetch_row(result)) != NULL ) {
    199       gameHistory[i] = new int[4];
     199      gameHistory[i] = new int[5];
    200200
    201201      int userTeam = atoi(row[2]);
    202       int blueScore = atoi(row[4]);
    203       int redScore = atoi(row[3]);
     202      int blueScore = atoi(row[3]);
     203      int redScore = atoi(row[4]);
     204      time_t timeFinished = atoi(row[5]);
    204205      int gameResult = -1;
    205206
     
    222223      gameHistory[i][2] = blueScore;
    223224      gameHistory[i][3] = redScore;
     225      gameHistory[i][4] = timeFinished;
    224226
    225227      i++;
     
    236238}
    237239
    238 int DataAccess::saveGameHistory(int playerId, int team, int blueScore, int redScore)
     240int DataAccess::saveGameHistory(int playerId, int team, int blueScore, int redScore, time_t timeFinished)
    239241{
    240242   ostringstream oss;
    241243
    242244   cout << "Saving game to db" << endl;
    243    oss << playerId << ", " << team << ", " << blueScore << ", " << redScore;
    244 
    245    return insert("gameHistory", "user_id, user_team, blue_score, red_score", oss.str());
     245   oss << playerId << ", " << team << ", " << blueScore << ", " << redScore << ", " << timeFinished;
     246
     247   return insert("gameHistory", "user_id, user_team, blue_score, red_score, time_finished", oss.str());
    246248}
    247249
  • server/DataAccess.h

    r347d768 r426fb84  
    2323   int* getPlayerRecord(int playerId);
    2424   int** getPlayerGameHistory(int playerId, unsigned int& numGames);
    25    int saveGameHistory(int playerId, int team, int blueScore, int redScore);
     25   int saveGameHistory(int playerId, int team, int blueScore, int redScore, time_t timeFinished);
    2626
    2727   int insert(string table, string rows, string values);
  • server/server.cpp

    r347d768 r426fb84  
    200200                  map<unsigned int, Player*>::iterator it;
    201201
     202                  time_t timeFinished = time(NULL);
    202203                  for (it = game->getPlayers().begin(); it != game->getPlayers().end(); it++) {
    203204                      Player* p = it->second;
     
    211212                          p->losses++;
    212213                      da.updatePlayer(p);
    213                       da.saveGameHistory(p->getId(), winningTeam, game->getBlueScore(), game->getRedScore());
     214                      da.saveGameHistory(p->getId(), winningTeam, game->getBlueScore(), game->getRedScore(), timeFinished);
    214215                  }
    215216               }
     
    613614         memcpy(serverMsg.buffer+12, &numGames, 4);
    614615         for (unsigned int i=0; i<numGames; i++) {
    615             memcpy(serverMsg.buffer+16+i*16, &gameHistory[i][0], 4);
    616             memcpy(serverMsg.buffer+20+i*16, &gameHistory[i][1], 4);
    617             memcpy(serverMsg.buffer+24+i*16, &gameHistory[i][2], 4);
    618             memcpy(serverMsg.buffer+28+i*16, &gameHistory[i][3], 4);
     616            memcpy(serverMsg.buffer+16+i*20, &gameHistory[i][0], 4);
     617            memcpy(serverMsg.buffer+20+i*20, &gameHistory[i][1], 4);
     618            memcpy(serverMsg.buffer+24+i*20, &gameHistory[i][2], 4);
     619            memcpy(serverMsg.buffer+28+i*20, &gameHistory[i][3], 4);
     620            memcpy(serverMsg.buffer+32+i*20, &gameHistory[i][4], 4);
    619621            delete[] gameHistory[i];
    620622         }
Note: See TracChangeset for help on using the changeset viewer.