Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jan 4, 2016, 5:22:59 PM (8 years ago)
Author:
landauf
Message:

hover: maze size is now fully configurable in xml

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/presentationHS15/src/modules/hover/Hover.cc

    r11036 r11040  
    5959        SUPER(Hover, tick, dt);
    6060
    61         if(this->firstTick_)
     61        if(this->firstTick_ && this->origin_)
    6262        {
    6363            this->firstTick_ = false;
    6464
    65             MazeGenerator generator;
     65            int numCells = this->origin_->getNumCells();
     66            int cellSize = this->origin_->getCellSize();
     67            int cellHeight = this->origin_->getCellHeight();
     68
     69            MazeGenerator generator(numCells);
    6670            generator.generateMaze();
    6771            generator.renderMaze();
    6872
    69             const int NUM_CELLS = generator.getNumCells();
    7073            int* levelcode = generator.getLevelcode();
    7174
    7275            //Outer Walls
    73             for(int i = 0; i<NUM_CELLS; i++){
    74                 new HoverWall(origin_->getContext(), 0, i+1, 1);
    75                 new HoverWall(origin_->getContext(), NUM_CELLS, i+1, 1);
    76                 new HoverWall(origin_->getContext(), i+1, 0, 2);
    77                 new HoverWall(origin_->getContext(), i+1, NUM_CELLS, 2);
     76            for(int i = 0; i<numCells; i++){
     77                new HoverWall(origin_->getContext(), 0,        i+1,      cellSize, cellHeight, 1);
     78                new HoverWall(origin_->getContext(), numCells, i+1,      cellSize, cellHeight, 1);
     79                new HoverWall(origin_->getContext(), i+1,      0,        cellSize, cellHeight, 2);
     80                new HoverWall(origin_->getContext(), i+1,      numCells, cellSize, cellHeight, 2);
    7881            }
    7982
    8083            //Generate inner Walls according to levelcode
    81             for(int y=0; y<NUM_CELLS; y++){
    82                 for(int x=0; x<NUM_CELLS; x++){
    83                     switch(levelcode[ y * NUM_CELLS + x ]){
    84                         case 1: new HoverWall(origin_->getContext(), x+1, NUM_CELLS-y, 1);
     84            for(int y=0; y<numCells; y++){
     85                for(int x=0; x<numCells; x++){
     86                    switch(levelcode[ y * numCells + x ]){
     87                        case 1: new HoverWall(origin_->getContext(), x+1, numCells-y, cellSize, cellHeight, 1);
    8588                                break;
    86                         case 3: new HoverWall(origin_->getContext(), x+1, NUM_CELLS-y, 1);
    87                         case 2: new HoverWall(origin_->getContext(), x+1, NUM_CELLS-y, 0);
     89                        case 3: new HoverWall(origin_->getContext(), x+1, numCells-y, cellSize, cellHeight, 1);
     90                        case 2: new HoverWall(origin_->getContext(), x+1, numCells-y, cellSize, cellHeight, 0);
    8891                        default: break;
    8992                    }
     
    9396            //Generate 5 flags randomly
    9497            for ( int i = 0; i < 5; i++ )
    95                 flagVector_.push_back(new HoverFlag(origin_->getContext(), rand()%NUM_CELLS, rand()%NUM_CELLS));
     98                flagVector_.push_back(new HoverFlag(origin_->getContext(), rand()%numCells, rand()%numCells, cellSize));
    9699
    97100            flags_ = flagVector_.size();
Note: See TracChangeset for help on using the changeset viewer.