|
@@ -1,19 +1,20 @@ |
|
|
package edu.stuy.goldfish; |
|
|
package edu.stuy.goldfish; |
|
|
|
|
|
|
|
|
public class Patch { |
|
|
public class Patch { |
|
|
private int _pxcor, _pycor, _state; |
|
|
|
|
|
private String _plabel; |
|
|
|
|
|
private Grid _myGrid; |
|
|
|
|
|
|
|
|
|
|
|
public Patch(Grid grid, int xcor, int ycor, int state) { |
|
|
|
|
|
_myGrid = grid; |
|
|
|
|
|
_pxcor = xcor; |
|
|
|
|
|
_pycor = ycor; |
|
|
|
|
|
|
|
|
private int _xcor, _ycor, _state; |
|
|
|
|
|
private String _label; |
|
|
|
|
|
private Grid _grid; |
|
|
|
|
|
|
|
|
|
|
|
public Patch(Grid grid, int xcor, int ycor, int state, String label) { |
|
|
|
|
|
_grid = grid; |
|
|
|
|
|
_xcor = xcor; |
|
|
|
|
|
_ycor = ycor; |
|
|
_state = state; |
|
|
_state = state; |
|
|
|
|
|
_label = label; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public Patch() { |
|
|
public Patch() { |
|
|
this(new Grid(), 0, 0, 0); |
|
|
|
|
|
|
|
|
this(new Grid(), 0, 0, 0, ""); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public Grid getGrid() { |
|
|
public Grid getGrid() { |
|
@@ -21,14 +22,54 @@ public class Patch { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public int getX() { |
|
|
public int getX() { |
|
|
return _pxcor; |
|
|
|
|
|
|
|
|
return _xcor; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public int getY() { |
|
|
public int getY() { |
|
|
return _pycor; |
|
|
|
|
|
|
|
|
return _ycor; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public int getState() { |
|
|
|
|
|
return _state; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void setState(int state) { |
|
|
|
|
|
_state = state; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public String getLabel() { |
|
|
|
|
|
return _label; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void setLabel(String label) { |
|
|
|
|
|
_label = label; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
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); |
|
|
|
|
|
} |
|
|
|
|
|
} |