I'm currently working on my forest class for my forest fire simulation, but I've run into trouble.
In one particular spot, it wants to say grid is not declared.
Here is a working implementation followed by the driver:
Code:int forest::nextStatus(int i, int j) const { double rannum, z; rannum = static_cast<double>(rand())/RAND_MAX; z=(grid[i][j].getProbCatch()/grid[i][j].getWetness()); if( (grid[i][j].getStatus()==live) && (rannum<z) && (grid[i+1][j].getStatus()==burning)) { return burning; } else if( (grid[i][j].getStatus()==live) && (rannum<z) && (grid[i-1][j].getStatus()==burning)) { return burning; } else if( (grid[i][j].getStatus()==live) && (rannum<z) && (grid[i][j+1].getStatus()==burning)) { return burning; } else if( (grid[i][j].getStatus()==live) && (rannum<z) && (grid[i][j-1].getStatus()==burning)) { return burning; } else if( grid[i][j].getStatus()==burning ) { return dead; } else if( grid[i][j].getStatus()==dead ) { return dead; } else return live; }Driver:Code:void forest::applyNextStatus() { tree next_grid[FW][FH]; int i, j, stat; for(int i=0; i<21; i++){ for(int j=0; j<21; j++){ next_grid[i][j]=grid[i][j]; } } for(int i=1; i<20; i++){ for(int j=1; j<20; j++){ stat=nextStatus(i, j); next_grid[i][j].setStatus(stat); } } for(int i=0; i<21; i++){ for(int j=0; j<21; j++){ grid[i][j]=next_grid[i][j]; } } }
However for this set, it is saying grid is not declared.Code:b.applyNextStatus();
Driver:Code:int regrowth(double growProb) { double rannum; rannum=static_cast<double>(rand())/RAND_MAX; for(int i=1; i<20; i++){ for(int j=1; j<20; j++){ if( (grid[i][j].getStatus()==dead) && (rannum<growProb)){ return live; } else{ return dead; } } } }
Code:b.regrowth(rprob);



LinkBack URL
About LinkBacks



