Changeset 0678d60 in network-game


Ignore:
Timestamp:
Jan 22, 2014, 1:31:27 AM (11 years ago)
Author:
dportnoy <dmp1488@…>
Branches:
master
Children:
06fc7f7
Parents:
204edcf
Message:

All server warnings have been fixed and the WorldMap class has a new method to create flags (and, in the future, other objects) based on structures present on the map

Files:
7 edited

Legend:

Unmodified
Added
Removed
  • common/Game.cpp

    r204edcf r0678d60  
    162162   vector<WorldMap::Object>* vctObjects = this->worldMap->getObjects();
    163163   vector<WorldMap::Object>::iterator it;
    164    int playerId = -1;
     164   int itemId = -1;
    165165
    166166   for (it = vctObjects->begin(); it != vctObjects->end(); it++) {
     
    170170               if (p->team == 1) {
    171171                  p->hasBlueFlag = true;
    172                   playerId = it->id;
     172                  itemId = it->id;
    173173               }
    174174               break;
     
    176176               if (p->team == 0) {
    177177                  p->hasRedFlag = true;
    178                   playerId = it->id;
     178                  itemId = it->id;
    179179               }
    180180               break;
    181          }
    182 
    183          if (playerId > -1) {
     181            case WorldMap::OBJECT_NONE:
     182               break;
     183         }
     184
     185         if (itemId > -1) {
    184186            vctObjects->erase(it);
    185             return playerId;
    186          }
    187       }
    188    }
    189 
    190    return playerId;
     187            return itemId;
     188         }
     189      }
     190   }
     191
     192   return itemId;
    191193}
    192194
     
    214216
    215217bool Game::handleGameEvents() {
    216    NETWORK_MSG serverMsg;
    217218   map<unsigned int, Player*>::iterator it;
    218219   bool gameFinished = false;
     
    325326            }
    326327
     328            break;
     329         }
     330         default:
     331         {
    327332            break;
    328333         }
  • common/MessageProcessor.cpp

    r204edcf r0678d60  
    4242   if (ret < 0)
    4343      error("sendMessage");
    44    else
    45       return ret;
     44
     45   return ret;
    4646}
    4747
  • common/Player.cpp

    r204edcf r0678d60  
    150150         cout << "No class" << endl;
    151151         break;
    152       dafault:
    153          cout << "nvalid class" << endl;
    154          break;
    155152   }
    156153}
  • common/WorldMap.cpp

    r204edcf r0678d60  
    4545}
    4646
     47void WorldMap::createObjectsFromStructures() {
     48   for (int y=0; y<this->height; y++) {
     49      for (int x=0; x<this->width; x++) {
     50         switch (this->getStructure(x, y)) {
     51            case WorldMap::STRUCTURE_BLUE_FLAG:
     52               this->addObject(WorldMap::OBJECT_BLUE_FLAG, x*25+12, y*25+12);
     53               break;
     54            case WorldMap::STRUCTURE_RED_FLAG:
     55               this->addObject(WorldMap::OBJECT_RED_FLAG, x*25+12, y*25+12);
     56               break;
     57            case WorldMap::STRUCTURE_NONE:
     58               break;
     59         }
     60      }
     61   }
     62}
     63
    4764WorldMap::TerrainType WorldMap::getElement(int x, int y)
    4865{
     
    7188   pos.y = 0;
    7289
    73    for (int x=0; x<vctStructures->size(); x++) {
    74       for (int y=0; y<(*vctStructures)[x]->size(); y++) {
     90   for (unsigned int x=0; x<vctStructures->size(); x++) {
     91      for (unsigned int y=0; y<(*vctStructures)[x]->size(); y++) {
    7592        if ((*(*vctStructures)[x])[y] == t) {
    7693           pos.x = x;
     
    131148   case WorldMap::OBJECT_RED_FLAG:
    132149      cout << "RED_FLAG" << endl;
     150      break;
     151   case WorldMap::OBJECT_NONE:
     152      cout << "OBJECY_NONE" << endl;
    133153      break;
    134154   }
     
    145165            cout << "RED_FLAG" << endl;
    146166            break;
     167         case WorldMap::OBJECT_NONE:
     168            cout << "OBJECY_NONE" << endl;
     169            break;
    147170         }
    148171         it->pos.x = x;
  • common/WorldMap.h

    r204edcf r0678d60  
    5454   ~WorldMap();
    5555
     56   void createObjectsFromStructures();
     57
    5658   TerrainType getElement(int x, int y);
    5759   void setElement(int x, int y, TerrainType type);
  • server/DataAccess.cpp

    r204edcf r0678d60  
    177177MYSQL_RES *DataAccess::select(string table, string filter)
    178178{
    179    MYSQL_RES *result;
    180179   int query_state;
    181180   ostringstream oss;
  • server/server.cpp

    r204edcf r0678d60  
    589589            // add flag objects to the map
    590590            WorldMap* m = g->getMap();
    591             for (int y=0; y<m->height; y++) {
    592                for (int x=0; x<m->width; x++) {
    593                   switch (m->getStructure(x, y)) {
    594                      case WorldMap::STRUCTURE_BLUE_FLAG:
    595                         m->addObject(WorldMap::OBJECT_BLUE_FLAG, x*25+12, y*25+12);
    596                         break;
    597                      case WorldMap::STRUCTURE_RED_FLAG:
    598                         m->addObject(WorldMap::OBJECT_RED_FLAG, x*25+12, y*25+12);
    599                         break;
    600                      case WorldMap::STRUCTURE_NONE:
    601                         break;
    602                   }
    603                }
    604             }
     591            m->createObjectsFromStructures();
    605592
    606593            serverMsg.type = MSG_TYPE_JOIN_GAME_SUCCESS;
Note: See TracChangeset for help on using the changeset viewer.