#Why is the fire not spreading to the surrounding tiles correctly?
9 messages · Page 1 of 1 (latest)
Hey, @modern forge!
Please remember to /close this post once your question has been answered!
public static void main (String[] args){
int grid[][] = {{0,2,0,0,0,0,0},{0,0,0,2,2,1,0},{0,2,0,0,1,2,0},{0,0,2,2,2,0,2},{0,0,0,0,0,0,0}};
int[][] bgrid = new int[grid.length + 2][grid[0].length + 2];
int[][] future = new int[grid.length + 2][grid[0].length + 2];
int spread = 0;
for (int x = 0; x < bgrid.length; x++){
for (int y = 0; y < bgrid[1].length; y++){
if (x == 0 || y == 0 || x == bgrid.length - 1 || y == bgrid[0].length - 1){
bgrid[x][y] = 2;
}
else{
bgrid[x][y] = grid[x - 1][y - 1];
}
}
}
for (int x = 1; x < bgrid.length - 1; x++){
for (int y = 1; y < bgrid[0].length - 1; y++){
spread = 0;
if (bgrid[x][y] == 1 && bgrid[x][y - 1] == 0){
future[x][y - 1] = 1;
future[x][y] = 1;
}
if (bgrid[x][y] == 1 && bgrid[x][y + 1] == 0){
future[x][y + 1] = 1;
future[x][y] = 1;
}
if (bgrid[x][y] == 1 && bgrid[x - 1][y] == 0){
future[x - 1][y] = 1;
future[x][y] = 1;
}
if (bgrid[x][y] == 1 && bgrid[x + 1][y] == 0){
future[x + 1][y] = 1;
future[x][y] = 1;
}
if (bgrid[x][y] != 1){
future[x][y] = bgrid[x][y];
}
if (spread == 0){
spread = -1;
}
}
}
for (int x = 1; x < future.length - 1; x++){
for (int y = 1; y < future[0].length - 1; y++){
System.out.print(future[x][y]);
}
System.out.println();
}
}
}
so given the matrix
0 = grass
1 = fire
2 = wall
Why isn't the fire spreading right at (2,6)?