java
64x64

Pınar

24.2.2020 00:00:00

public void kontrol(ArrayList<Integer> sorun) { if (sorun.isEmpty()) { } else { for(Object obj : sorun){ int a = sorun.get(0); int b = sorun.get(0); } sorun.remove(0); //sol tarafı kontrol ediyoruz if(mayin[a][b]==0){ // sıfırları kontrol ediyoruz if(a>0 && b>0){ // sıfır değilse komşuları kontrol ediyoruz String str = String.format("",mayin[a-1][b-1]); box[a-1][b-1].setText(str); box[a-1][b-1].setEnabled(false); if(mayin[a-1][b-1]==0){ sorun.add((a-1)*100 +(b-1)); } } // üst kısmı kontrol ediyoruz //iki yada üç bomba komşularını kontrol ediyoruz // a sabit kalıyor b değişiyor if (b>0){ box[a][b-1].setText(mayin[a][b-1]+ ""); box[a][b-1].setEnabled(false); if(mayin[a][b-1]==0){ sorun.add(a*100 +(b-1)); } } // a bir artma durumu // sağ taraf için if(a< mayin.length-1 && b>0 ){ box[a+1][b-1].setText(mayin[a+1][b-1]+ ""); box[a+1][b-1].setEnabled(false); if(mayin[a+1][b-1]==0){ sorun.add((a+1)*100 +(b-1)); } } // sol taraf için b aynı kalıyor if(a>0 ){ box[a-1][b].setText(mayin[a-1][b]+ ""); box[a-1][b].setEnabled(false); if(mayin[a-1][b]==0){ sorun.add((a-1)*100 +b); } } // sağ taraf için if(a< mayin.length-1 ){ box[a+1][b].setText(mayin[a+1][b]+ ""); box[a+1][b].setEnabled(false); if(mayin[a+1][b]==0){ sorun.add((a+1)*100 +b); } } // solt alt köşe için b ve mayınlar karışaltırılması if(a>0 && b < mayin[0].length-1){ box[a-1][b+1].setText(mayin[a-1][b+1]+ ""); box[a-1][b+1].setEnabled(false); if(mayin[a-1][b+1]==0){ sorun.add((a-1)*100 +(b+1)); } } // alt köşe için if (b <mayin[0].length-1 ){ box[a][b+1].setText(mayin[a][b+1]+ ""); box[a][b+1].setEnabled(false); if(mayin[a][b+1]==0){ sorun.add(a*100 +(b+1)); } } //alt sağ köşe için if(a< mayin.length-1 && b <mayin[0].length-1 ){ box[a+1][b+1].setText(mayin[a+1][b+1]+ ""); box[a+1][b+1].setEnabled(false); if(mayin[a+1][b+1]==0){ sorun.add((a+1)*100 +(b+1)); } } } if(sorun != null) kontrol(sorun); } } public void win(){ boolean win =true; for(int i= 0; i<mayin.length;i++){ for(int j=0 ; j<mayin[0].length;j++){ if(mayin[i][j]!=mayınlar && box[i][j].isEnabled()==true){ win=false;} } } if(win==true){ JOptionPane.showMessageDialog(frame,"Kazandın"); } } @Override public void actionPerformed(ActionEvent e) { if (e.getSource().equals(reset)) { for (int i = 0; i < box.length; i++) { for (int j = 0; j < box[0].length; j++) { box[i][j].setEnabled(true); box[i][j].setText(""); } } mayinata(); } else { for (int i = 0; i < box.length; i++) { for (int j = 0; j < box[0].length; j++) { if (e.getSource().equals(box[i][j])) { if (mayin[i][j] == mayınlar) { box[i][j].setForeground(Color.DARK_GRAY); box[i][j].setText("X"); theend(); } else if(mayin [i][j]==0) { box[i][j].setText(mayin[i][j]+""); box[i][j].setEnabled(false); ArrayList<Integer>sorun= new ArrayList <>(); sorun.add(i*100+j); kontrol(sorun); win(); } else { box[i][j].setText(mayin[i][j] + ""); box[i][j].setEnabled(false); win(); } } } } } } }

bu da kodun son bölümü bunun hakkında da bana bilgi verebilirmisiniz çok sevinirim.

Yorum yaz