|
@@ -3,10 +3,10 @@ package edu.stuy.goldfish; |
|
|
public class Patch { |
|
|
public class Patch { |
|
|
private int _xcor, _ycor, _state; |
|
|
private int _xcor, _ycor, _state; |
|
|
private String _label; |
|
|
private String _label; |
|
|
private Grid _myGrid; |
|
|
|
|
|
|
|
|
private Grid _grid; |
|
|
|
|
|
|
|
|
public Patch(Grid grid, int xcor, int ycor, int state, String label) { |
|
|
public Patch(Grid grid, int xcor, int ycor, int state, String label) { |
|
|
_myGrid = grid; |
|
|
|
|
|
|
|
|
_grid = grid; |
|
|
_xcor = xcor; |
|
|
_xcor = xcor; |
|
|
_ycor = ycor; |
|
|
_ycor = ycor; |
|
|
_state = state; |
|
|
_state = state; |
|
@@ -48,4 +48,28 @@ public class Patch { |
|
|
public String toString() { |
|
|
public String toString() { |
|
|
return _plabel; |
|
|
return _plabel; |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Patch[] get4Neighbors() { |
|
|
|
|
|
Patch[] neighbors = new Patch[4]; |
|
|
|
|
|
neighbors[0] = _grid.getPatch(_xcor + 1, _ycor); |
|
|
|
|
|
neighbors[1] = _grid.getPatch(_xcor - 1, _ycor); |
|
|
|
|
|
neighbors[2] = _grid.getPatch(_xcor, _ycor + 1); |
|
|
|
|
|
neighbors[3] = _grid.getPatch(_xcor, _ycor - 1); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public Patch[] get8Neighbors() { |
|
|
|
|
|
Patch[] neighbors = new Patch[8]; |
|
|
|
|
|
neighbors[0] = _grid.getPatch(_xcor + 1, _ycor); |
|
|
|
|
|
neighbors[1] = _grid.getPatch(_xcor - 1, _ycor); |
|
|
|
|
|
neighbors[2] = _grid.getPatch(_xcor, _ycor + 1); |
|
|
|
|
|
neighbors[3] = _grid.getPatch(_xcor, _ycor - 1); |
|
|
|
|
|
neighbors[4] = _grid.getPatch(_xcor + 1, _ycor + 1); |
|
|
|
|
|
neighbors[5] = _grid.getPatch(_xcor + 1, _ycor - 1); |
|
|
|
|
|
neighbors[6] = _grid.getPatch(_xcor - 1, _ycor + 1); |
|
|
|
|
|
neighbors[7] = _grid.getPatch(_xcor - 1, _ycor - 1); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public Patch clone() { |
|
|
|
|
|
return new Patch(_grid, _xcor, _ycor, _state, _label); |
|
|
|
|
|
} |
|
|
|
|
|
} |