Add Check for State Changes During Grid Update
This commit is contained in:
parent
9fb67d0194
commit
1146c7d265
2 changed files with 8 additions and 4 deletions
|
@ -56,7 +56,7 @@ class App {
|
|||
|
||||
void update() {
|
||||
// print("updating");
|
||||
grid.update();
|
||||
if(!grid.update()) running = false;
|
||||
}
|
||||
|
||||
void render([num interp]) {
|
||||
|
|
|
@ -143,7 +143,8 @@ class Grid {
|
|||
return grid;
|
||||
}
|
||||
|
||||
void update() {
|
||||
bool update() {
|
||||
bool stateChanges = false;
|
||||
for (int y = 0; y < h; y++) {
|
||||
for (int x = 0; x < w; x++) {
|
||||
// DEFAULTS TO CONWAY GAME OF LIFE RANGE OF ONE
|
||||
|
@ -152,11 +153,14 @@ class Grid {
|
|||
}
|
||||
for (int y = 0; y < h; y++) {
|
||||
for (int x = 0; x < w; x++) {
|
||||
// DEFAULTS TO CONWAY GAME OF LIFE RANGE OF ONE
|
||||
map[y][x].advanceState();
|
||||
Cell c = map[y][x];
|
||||
if(c.state != c.nextState) stateChanges = true;
|
||||
c.advanceState();
|
||||
|
||||
if (!_dirty && map[y][x].dirty) _dirty = true;
|
||||
}
|
||||
}
|
||||
return stateChanges;
|
||||
}
|
||||
|
||||
int getSurroundingNeighbors(int x, int y, int range) {
|
||||
|
|
Loading…
Reference in a new issue