グリッドを埋めるのに問題があります。それを行うたびに、スタックオーバーフローエラーが発生します。ここに私の現在のコードがあります:
public void removeSelfFromGrid() {
Grid<Actor> grid = getGrid();
int rows = grid.getNumRows();
int cols = grid.getNumCols();
for (int i=0; i<rows; i++) {
for (int j=0; j<cols; j++) {
Location loc = new Location(i, j);
laugh = new CKiller();
laugh.putSelfInGrid(grid, loc);
}
}
}
必要に応じて、ここにコンストラクターがあります
public CKiller()
{
Color c = null;
setColor(c);
getGrid();
getLocation();
location = new ArrayList<Location>();
location.add(getLocation());
setDirection(direction);
}
そして、ここにエラーがあります(その一部であり、すべてを投稿するには大きすぎます。2つのステートメントが繰り返されているだけです):
java.lang.StackOverflowError
at info.gridworld.actor.Actor.putSelfInGrid(Actor.java:123)
at CKiller.removeSelfFromGrid(CKiller.java:120)
これが問題だと言っている
laugh.putSelfInGrid(grid, loc);