Ich habe ein kleines Problem bei dem aufdecken der Spielfelder. Das aufdecken funktioniert nur richtig wenn man das rechte untere Spielfeld anklickt. Bei allen anderen wird meistens nur ein teil aufgedeckt.
Im Anhang ist die GUI mit den beschriebenen Fehlern zum besseren Verständnis. Ich weiß selber dass noch kleinere Fehler generell versteckt sind, aber der Grund warum manche Felder nicht aufgedeckt werden ist mir nicht klar.
Der Code zu meiner Methode wäre:
Hier noch die Informationen die in jedem Button gespeichert sind:
|[ 0][ 0] false 0||[ 0][ 1] false 1||[ 0][ 2] false 1||[ 0][ 3] false 2||[ 0][ 4] false 1||[ 0][ 5] false 1||[ 0][ 6] false 0||[ 0][ 7] false 0||[ 0][ 8] false 0|
|[ 1][ 0] false 0||[ 1][ 1] false 1||[ 1][ 2] true 0||[ 1][ 3] false 3||[ 1][ 4] true 0||[ 1][ 5] false 3||[ 1][ 6] false 1||[ 1][ 7] false 1||[ 1][ 8] false 0|
|[ 2][ 0] false 1||[ 2][ 1] false 2||[ 2][ 2] false 1||[ 2][ 3] false 4||[ 2][ 4] true 0||[ 2][ 5] false 4||[ 2][ 6] true 0||[ 2][ 7] false 1||[ 2][ 8] false 0|
|[ 3][ 0] true 0||[ 3][ 1] false 1||[ 3][ 2] false 0||[ 3][ 3] false 2||[ 3][ 4] true 0||[ 3][ 5] false 3||[ 3][ 6] false 1||[ 3][ 7] false 2||[ 3][ 8] false 1|
|[ 4][ 0] false 1||[ 4][ 1] false 1||[ 4][ 2] false 0||[ 4][ 3] false 2||[ 4][ 4] false 2||[ 4][ 5] false 2||[ 4][ 6] false 0||[ 4][ 7] false 1||[ 4][ 8] true 0|
|[ 5][ 0] false 0||[ 5][ 1] false 1||[ 5][ 2] false 1||[ 5][ 3] false 2||[ 5][ 4] true 0||[ 5][ 5] false 1||[ 5][ 6] false 0||[ 5][ 7] false 1||[ 5][ 8] false 1|
|[ 6][ 0] false 0||[ 6][ 1] false 1||[ 6][ 2] true 0||[ 6][ 3] false 2||[ 6][ 4] false 1||[ 6][ 5] false 1||[ 6][ 6] false 0||[ 6][ 7] false 0||[ 6][ 8] false 0|
|[ 7][ 0] false 0||[ 7][ 1] false 2||[ 7][ 2] false 2||[ 7][ 3] false 2||[ 7][ 4] false 0||[ 7][ 5] false 0||[ 7][ 6] false 0||[ 7][ 7] false 0||[ 7][ 8] false 0|
|[ 8][ 0] false 0||[ 8][ 1] false 1||[ 8][ 2] true 0||[ 8][ 3] false 1||[ 8][ 4] false 0||[ 8][ 5] false 0||[ 8][ 6] false 0||[ 8][ 7] false 0||[ 8][ 8] false 0|
Im Anhang ist die GUI mit den beschriebenen Fehlern zum besseren Verständnis. Ich weiß selber dass noch kleinere Fehler generell versteckt sind, aber der Grund warum manche Felder nicht aufgedeckt werden ist mir nicht klar.
Der Code zu meiner Methode wäre:
Java:
private void floodFill(int zeile, int spalte)
{
if (buttArray[zeile][spalte].getMineDensity() == 0)
{
for (int i = zeile - 1; i < zeile + 1; i++)
{
for (int j = spalte - 1; j < spalte + 1; j++)
{
try
{
if (buttArray[i][j].getMineDensity() >= 0 && buttArray[i][j].isSelected() == false)
{
buttArray[i][j].setSelected(true);
buttArray[zeile][spalte].setText(Integer.toString(buttArray[zeile][spalte].getMineDensity()));
System.out.println(i + "#" + j);
floodFill(i, j);
}
} catch (Exception e)
{
}
}
}
}
}
Hier noch die Informationen die in jedem Button gespeichert sind:
|[ 0][ 0] false 0||[ 0][ 1] false 1||[ 0][ 2] false 1||[ 0][ 3] false 2||[ 0][ 4] false 1||[ 0][ 5] false 1||[ 0][ 6] false 0||[ 0][ 7] false 0||[ 0][ 8] false 0|
|[ 1][ 0] false 0||[ 1][ 1] false 1||[ 1][ 2] true 0||[ 1][ 3] false 3||[ 1][ 4] true 0||[ 1][ 5] false 3||[ 1][ 6] false 1||[ 1][ 7] false 1||[ 1][ 8] false 0|
|[ 2][ 0] false 1||[ 2][ 1] false 2||[ 2][ 2] false 1||[ 2][ 3] false 4||[ 2][ 4] true 0||[ 2][ 5] false 4||[ 2][ 6] true 0||[ 2][ 7] false 1||[ 2][ 8] false 0|
|[ 3][ 0] true 0||[ 3][ 1] false 1||[ 3][ 2] false 0||[ 3][ 3] false 2||[ 3][ 4] true 0||[ 3][ 5] false 3||[ 3][ 6] false 1||[ 3][ 7] false 2||[ 3][ 8] false 1|
|[ 4][ 0] false 1||[ 4][ 1] false 1||[ 4][ 2] false 0||[ 4][ 3] false 2||[ 4][ 4] false 2||[ 4][ 5] false 2||[ 4][ 6] false 0||[ 4][ 7] false 1||[ 4][ 8] true 0|
|[ 5][ 0] false 0||[ 5][ 1] false 1||[ 5][ 2] false 1||[ 5][ 3] false 2||[ 5][ 4] true 0||[ 5][ 5] false 1||[ 5][ 6] false 0||[ 5][ 7] false 1||[ 5][ 8] false 1|
|[ 6][ 0] false 0||[ 6][ 1] false 1||[ 6][ 2] true 0||[ 6][ 3] false 2||[ 6][ 4] false 1||[ 6][ 5] false 1||[ 6][ 6] false 0||[ 6][ 7] false 0||[ 6][ 8] false 0|
|[ 7][ 0] false 0||[ 7][ 1] false 2||[ 7][ 2] false 2||[ 7][ 3] false 2||[ 7][ 4] false 0||[ 7][ 5] false 0||[ 7][ 6] false 0||[ 7][ 7] false 0||[ 7][ 8] false 0|
|[ 8][ 0] false 0||[ 8][ 1] false 1||[ 8][ 2] true 0||[ 8][ 3] false 1||[ 8][ 4] false 0||[ 8][ 5] false 0||[ 8][ 6] false 0||[ 8][ 7] false 0||[ 8][ 8] false 0|
Anhänge
Zuletzt bearbeitet: