Jo, mein Porblem ist, dass alle if Anweisungen für die Farbbestimmung ausgeführt werden, egal ob der Rückgabewert von equals() true oder false ist. Also alle Felder werden in alle Farben ausgegeben und am schluss sind sie gelb (letzte Farbe)
Hier ein Teil der Textausgabe:
.
.
.
viel.jpg
true
viel.jpg
true
normal.jpg
false
viel.jpg
true
viel.jpg
true
viel.jpg
.
.
.
Also der Rückgabewert stimmt scheinbar, nur wirds halt immer ausgeführt :autsch:
Hier ein Teil der Textausgabe:
.
.
.
viel.jpg
true
viel.jpg
true
normal.jpg
false
viel.jpg
true
viel.jpg
true
viel.jpg
.
.
.
Also der Rückgabewert stimmt scheinbar, nur wirds halt immer ausgeführt :autsch:
Code:
public static void drawQ(feld ary[][])
{
double r=500/ary.length/2;
double m=r;
double n=r;
for(int x=0; x<ary.length;x++)
{
for(int y=0;y<ary[0].length;y++)
{
String bild=ary[x][y].getBild();
StdOut.println(bild);
if(bild.equalsIgnoreCase("viel.jpg"));
{
StdOut.println(bild.equalsIgnoreCase("viel.jpg")); //wird auch bei false ausgegeben
Color farbe=new Color(34,139,105);
StdDraw.setPenColor(farbe);
StdDraw.filledSquare(m, n, r);
}
if(bild.equalsIgnoreCase("normal.jpg"));
{
Color farbe=new Color(50,205,50);
StdDraw.setPenColor(farbe);
StdDraw.filledSquare(m, n, r);
}
if(bild.equalsIgnoreCase("wenig.jpg"));
{
Color farbe=new Color(179,238,58);
StdDraw.setPenColor(farbe);
StdDraw.filledSquare(m, n, r);
}
if(bild.equalsIgnoreCase("felsen.jpg"));
{
Color farbe=new Color(127,127,127);
StdDraw.setPenColor(farbe);
StdDraw.filledSquare(m, n, r);
}
if(bild.equalsIgnoreCase("wasser.jpg"));
{
Color farbe=new Color(0,0,255);
StdDraw.setPenColor(farbe);
StdDraw.filledSquare(m, n, r);
}
if(bild.equalsIgnoreCase("asche.jpg"));
{
Color farbe=new Color(51,51,51);
StdDraw.setPenColor(farbe);
StdDraw.filledSquare(m, n, r);
}
if(bild.equalsIgnoreCase("feuer.jpg"));
{
Color farbe=new Color(255,0,0);
StdDraw.setPenColor(farbe);
StdDraw.filledSquare(m, n, r);
}
if(bild.equalsIgnoreCase("fw.jpg"));
{
Color farbe=new Color(255,255,0);
StdDraw.setPenColor(farbe);
StdDraw.filledSquare(m, n, r);
}
n=n+(r*2);
}
m=m+(r*2);
n=r;
}
}