1

コンウェイの人生ゲームを実装しています。私は最初のボードを読みましたが、セルの生きている隣人をカウントするようにプログラムする必要があります。

いくつかの基本的なルール

生きている隣人が 2 つ未満の生きているセルは、人口不足が原因であるかのように死にます。2 つまたは 3 つの生きた隣人を持つ生きたセルは、次の世代に生き続けます。生きている隣人が 3 つ以上いる生きているセルは、過密状態のように死にます。ちょうど 3 つの生きている隣接セルを持つ死んだセルは、再生によって生きているセルになります。

これが私がすでに持っているコードです。

更新: これは、最初のアドバイスの後に変更されたコードです。

/**
 * Write your comments here following the javadoc conventions
 */
public static int countNeighbours(boolean[][] board, int row, int col)
{
    int neighbours = 0; 
    int x = -1;
    while (x <= 1) {
        int y = -1;
        while (y <= 1) {
            if (board[row][col] == true) {

                neighbours++; 
            }
            // Given a 2D boolan array and a cell location given by its
            // row and column indecies, count the number of live cells
            // immediately surrounding the given cell. Remember that you
            // mustn't count the cell itself.

        }


    }
    return neighbours;
}

これは正しい軌道に乗っていますか?

4

3 に答える 3

2

やりたいと思います

if (board[row][col] == true) {

これは

if (board[row][col]) {
于 2012-09-19T09:45:58.123 に答える
2

これは典型的な学校の課題であることはわかっているので、完全な回答を提供したいと思いますが、メソッドの先頭で row を再定義しないでください。別の名前を付けてください。ループは from row-1torow+1およびcol-1to に移動する必要がありますcol+1

于 2012-09-19T09:49:28.560 に答える