Skip to content
Permalink
Browse files
Implement Aging
  • Loading branch information
ClayDowling committed Apr 15, 2017
1 parent 4d189dc commit a4b4b47942eff0279b4891f7ab7425eb5bd8e73b
Showing 2 changed files with 10 additions and 6 deletions.
@@ -30,4 +30,8 @@ By passing the LifeBoard to the constructor of the engine, I'm also removing th

## Hide The Board's Implementation

I can now hide the implementation of the board and all tests still pass. This opens the way to change the actual implementation.
I can now hide the implementation of the board and all tests still pass. This opens the way to change the actual implementation.

## Implement Aging

Now my new LifeBoard implementation implements an aging feature. Every time a cell is made "alive" it gets one generation older. This can be used to change the display to show different colors or intensities.
@@ -4,28 +4,28 @@
public class LifeBoard implements Board {
public static final int X_MAX = 50;
public static final int Y_MAX = 50;
private boolean[][] value = new boolean[X_MAX][Y_MAX];
private int[][] value = new int[X_MAX][Y_MAX];

public void clear() {
for(int x=0; x < X_MAX; ++x) {
for(int y=0; y < Y_MAX; ++y) {
value[x][y] = false;
value[x][y] = 0;
}
}
}

public int at(int x, int y) {
if (value[x][y]) {
if (value[x][y] > 0) {
return 1;
}
return 0;
}

public void set(int x, int y, int value) {
if (0 == value) {
this.value[x][y] = false;
this.value[x][y] = 0;
} else {
this.value[x][y] = true;
this.value[x][y] = this.value[x][y] + 1;
}
}
}

0 comments on commit a4b4b47

Please sign in to comment.