Пример #1
0
/**
* @brief Verify that the cleanGrid function replaced avery remaining number, used during initialization, by VOID value.
*/
void verifyCleanGrid() {
    GRID grid;
    grid.height = 5;
    grid.width = 5;

    int matrix[5][5] = {
        {WALL, WALL, WALL, WALL, WALL},
        {WALL, 1, WALL, 2, WALL},
        {WALL, 3, WALL, 4, WALL},
        {WALL, 5, WALL, 6, WALL},
        {WALL, WALL, WALL, WALL, WALL}
    };

    grid.matrix = (int**) matrix;

    cleanGrid(&grid);
    CU_ASSERT(grid.height == 5);
    CU_ASSERT(grid.width == 5);
    CU_ASSERT(grid.matrix[1][1] == VOID);
    CU_ASSERT(grid.matrix[1][3] == VOID);
    CU_ASSERT(grid.matrix[2][1] == VOID);
    CU_ASSERT(grid.matrix[2][3] == VOID);
    CU_ASSERT(grid.matrix[3][1] == VOID);
    CU_ASSERT(grid.matrix[3][3] == VOID);
}
Пример #2
0
int InitWave(float x1, float y1, float x2, float y2, float waveX, float waveY)
{
  int x,y;
  cleanGrid(MAX_COL_INDEX,MAX_ROW_INDEX);
  envX1 = x1;
  envY1 = y1;
  envX2 = x2;
  envY2 = y2;
  //if(!hri_bt_is_active(BT_OBSTACLES,BTSET)) hri_bt_activate(BT_OBSTACLES,BTSET);
  //printf("Environment %f,%f %f,%f \n",x1,y1,x2,y2);
  x = igetCellCoord(x1,x2, MAX_COL_INDEX, waveX);
  y = igetCellCoord(y1,y2, MAX_ROW_INDEX, waveY);

  if (x>=0 && x<=MAX_COL_INDEX && y>=0 && y<=MAX_ROW_INDEX)
  {

    //genWave(x,y);
    generalWaveXpand(x,y);
    PSP_init_grid = 1;
    //printf(" %f %f %f \n", WAVE_BTSET->realx, WAVE_BTSET->realy, WAVE_BTSET->pace);
    printf(" Expanded Wave\n");
    return 1;
  }
  printf("Wave Coordinates out of range\n");
  PSP_init_grid = 0;
  return 0;
}
Пример #3
0
void Optics2::loadGrid()
{

    cleanGrid();
    gridX = 9;
    gridY = 7;

    cannon = Cannon::createWithSpriteFrame(SpriteFrame::create("optics/cannon.png",Rect(0,0,100,100)),GameObject::LEFT,false);
    cannon->setEventHandlers();
    cannonX = 1;
    cannonY = 2;
    grid[1][2]=cannon;

    grid[3][3]=Goal::createWithSpriteFrame(SpriteFrame::create("optics/goal.png",Rect(0,0,100,100)));

    auto mirror1 = OneSideMirror::createWithSpriteFrame(SpriteFrame::create("optics/onesidemirror.png",Rect(0,0,100,100)),GameObject::NW,true);
    mirror1->setEventHandlers();
    grid[2][2] = mirror1;

    mirror1 = OneSideMirror::createWithSpriteFrame(SpriteFrame::create("optics/onesidemirror.png",Rect(0,0,100,100)),GameObject::NW,false);
    mirror1->setEventHandlers();
    grid[5][4] = mirror1;

    mirror1 = OneSideMirror::createWithSpriteFrame(SpriteFrame::create("optics/onesidemirror.png",Rect(0,0,100,100)),GameObject::NW,true);
    mirror1->setEventHandlers();
    grid[3][5] = mirror1;

    mirror1 = OneSideMirror::createWithSpriteFrame(SpriteFrame::create("optics/onesidemirror.png",Rect(0,0,100,100)),GameObject::NW,false);
    mirror1->setEventHandlers();
    grid[3][2] = mirror1;

    auto mirror2 = TwoSideMirror::createWithSpriteFrame(SpriteFrame::create("optics/twosidemirror.png",Rect(0,0,100,100)),GameObject::NW,true);
    mirror2->setEventHandlers();
    grid[2][4]= mirror2;

    mirror2 = TwoSideMirror::createWithSpriteFrame(SpriteFrame::create("optics/twosidemirror.png",Rect(0,0,100,100)),GameObject::NW,false);
    mirror2->setEventHandlers();
    grid[2][5]= mirror2;

    mirror2 = TwoSideMirror::createWithSpriteFrame(SpriteFrame::create("optics/twosidemirror.png",Rect(0,0,100,100)),GameObject::NW,true);
    mirror2->setEventHandlers();
    grid[4][4]= mirror2;

    auto wall = Wall::createWithSpriteFrame(SpriteFrame::create("optics/wall.png",Rect(0,0,100,100)));
    grid[4][3]= wall;

    wall = Wall::createWithSpriteFrame(SpriteFrame::create("optics/wall.png",Rect(0,0,100,100)));
    grid[4][2]= wall;

    fillBoundingCells();
    fillEmptyCells();
}
Пример #4
0
static void cleanAllGrid(int maxX, int maxY)
{
  cleanGrid(maxX, maxY);
  cleanGridWave(maxX, maxY);
}