プログラム初心者です。
javaでマインスイーパーを作成しているのですが、
爆弾、数字がないところをクリックすると爆弾の隣の数字まで自動で開く
という動作ができません。
上下、左右だけならできたのですが、
ほかの部分をどう組み込めばいいのかがわかりません。
わかりづらい説明で申し訳ないのですが、教えていただけないでしょうか。
お願いいたします。
###該当のソースコード
private void OpenButton(int i, int j) { // TODO 自動生成されたメソッド・スタブ if(num[i][j] == 0){ //ボタンの座標 for(int h = i - 1; h >= 0; h--){ //真上を開ける if(num[h][j] == 2){ //開いた場所が数字だったら btn[h][j].setContentAreaFilled(false); //ボタンを透明化 label[h][j].setVisible(true); // 数字の画像を可視化する break; } else if(num[h][j] == 0) { //開いた場所になにもなかったら btn[h][j].setContentAreaFilled(false); label[h][j].setVisible(true); } } for(int h = i + 1; h < hight; h++){ //真下を開ける if(num[h][j] == 2){ btn[h][j].setContentAreaFilled(false); label[h][j].setVisible(true); break; } else if(num[h][j] == 0) { btn[h][j].setContentAreaFilled(false); label[h][j].setVisible(true); } } for(int w = j - 1; w >= 0; w--){ //左を開ける if(num[i][w] == 2){ btn[i][w].setContentAreaFilled(false); label[i][w].setVisible(true); break; } else if(num[i][w] == 0) { btn[i][w].setContentAreaFilled(false); label[i][w].setVisible(true); } } for(int w = j + 1; w < width; w++){ //右を開ける if(num[i][w] == 2){ btn[i][w].setContentAreaFilled(false); label[i][w].setVisible(true); break; } else if(num[i][w] == 0) { btn[i][w].setContentAreaFilled(false); label[i][w].setVisible(true); } } } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/27 15:11