###前提
Javaを使ってライフゲームを作っているのですが、自身の周り8マスで生存しているセルをカウントする段階で、コードが正しく機能しません。具体的には、実際の値よりも少ない値が後述するliveCell[][]に格納されています。(3が入るべきところに0が入っていたり)
###変数
コードで使用している変数は以下の設定です。
int i,j,k,l カウンタ int rows,cols 盤面の行数、列数 boolean temp[][] 盤面に存在しているセルの状態(生存=true 死亡=false) int liveCell[][] temp[][]に対して周囲8マスの生存しているセルを数える配列
###ソースコード
Java
1for(i=0;i<rows;i++){ 2 for(j=0;j<cols;j++){ 3 for(k=-1;k<1;k++){ 4 for(l=-1;l<1;l++){ 5 if(k == 0 && l == 0) continue; // 自分自身をカウントしない 6 if(((i+k) >= 0 && (j+l) >= 0) && // 画面端をカウントしない 7 ((i+k) <= rows && (j+l) <= cols) && 8 (temp[i+k][j+l] == true)){ // 生存セル 9 liveCell[i][j]++; 10 } 11 } 12 } 13 } 14}
###補足情報
使用しているツール等は以下の通りです。
Eclipse Neon(4.6.1)
Java SE Development Kit 8u111
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/11/20 08:45
2016/11/20 08:54 編集
退会済みユーザー
2016/11/20 08:55