Java で Conway の Game of Life プログラムを作成しており、コマンド ライン バージョンから GUI に変更しようとしています。コマンドラインから、世代を示す配列を印刷しました (ブロックやウィンカーなどのオブジェクトは、空白の一連の 1 と 0 として表示され、GUI では四角として表示されます (白い四角は空白とそうでない場所の青い四角.しかし、私が立ち往生しているのは、グリッド配列をチェックする別のメソッド(配列を出力するメソッドを置き換える)を作成するときです.ゼロがある場合、四角形は白から青、およびその逆. コンウェイの生命規則は、独立した別のクラスで処理され、このメソッドが行うのは、規則によって配列が変更された後、このメソッドがチェックすることだけです。
ルールはあるクラスのメソッドで実行され、GUI コンポーネントは別のクラスで実行されます。しかし、私は両方のインスタンスが必要なので、どうすればそれを行うことができますか?
public void runGUI() {
int x = getX(), y = getY();
x /= squareSize;
y /= squareSize;
for (int i = 0; i < LifeData.grid.length; i++) {
for (int j = 0; j < LifeData.grid[i].length; j++) {
if (LifeData.grid[i][j] == 0)
l.setCell(x, y, l.getCell(x, y) + 1);
else
l.setCell(x, y, l.getCell(x, y) - 1);
this.repaint();
}
}
}
それが私が今変更したものですが、コンパイルすると、「非静的変数grid
は静的コンテキストから参照できません」および「非静的メソッドrunGUI()
は静的コンテキストから参照できません」と表示されます。メソッドを実行しようとしたとき。