Files

71 lines
1.9 KiB
Java

public class Example {
public static void main(String[] args) {
boolean m[][] = { { true, false, true, true },
{ true, false, true, false },
{ true, false, true, true } };
System.out.println("++++++++++++");
Grid g = new Grid(m);
System.out.println(g);
System.out.println("++++++++++++");
g.update();
System.out.println(g);
System.out.println("++++++++++++");
}
}
public class Data {
private int major;
private int minor;
private boolean active;
public Data(int major, int minor, boolean active) {
this.major = Math.max(0, major);
this.minor = Math.max(0, minor);
this.active = active;
}
public int getMajor() {
return this.major;
}
public int getMinor() {
return this.minor;
}
public boolean getActive() {
return this.active;
}
public void parity() {
this.major = this.major % 2;
this.minor = this.minor % 2;
}
public String toString() {
return "" + this.major + (this.active ? "**" : "//") + this.minor;
}
}
public class Grid {
private Data[] a;
public Grid(boolean[][] m) {
this.a = new Data[m[0].length * m.length];
for (int i = 0; i < m.length; i++) {
for (int j = 0; j < m[i].length; j++) {
this.a[(m[0].length * i)+j] = new Data(i, j, m[i][j]);
}
}
}
public void update() {
for (int i = 0; i < this.a.length; i++) {
if (this.a[i].getActive()) {
this.a[i].parity();
}
}
}
public String toString() {
String return_string = "";
for (int i = 0; i < this.a.length; i++) {
return_string += this.a[i] + (i == this.a.length - 1 ? "" : "-");
}
return return_string;
}
}