Frage von TotalConquest, 33

Was kann bei folgendem Programm falsch sein, denn ich will ein kleines Spiel mit Greenfoot programmieren?

public void act(int points,int Kartengleich) { if (Greenfoot.isKeyDown("u")) { setImage("2_of_diamonds.png"); } else if(Greenfoot.isKeyDown("i")) { setImage("2_of_hearts.png"); } else if(Greenfoot.isKeyDown("o")) { setImage("3_of_hearts.png");
} else if(Greenfoot.isKeyDown("p")) { setImage("3_of_diamonds.png");
} else if(Greenfoot.isKeyDown("j")) { setImage("4_of_diamonds.png");
} else if(Greenfoot.isKeyDown("k")) { setImage("4_of_hearts.png");
}else if(Greenfoot.isKeyDown("l")) { setImage("5_of_diamonds.png");
} else if(Greenfoot.isKeyDown("ö")) { setImage("5_of_hearts.png");
} else if(Greenfoot.isKeyDown("m")) { setImage("6_of_diamonds.png");
} else if(Greenfoot.isKeyDown(",")) { setImage("6_of_hearts.png");
}

    else 
    if (Greenfoot.isKeyDown("."))
    {
        setImage("7_of_diamonds.png");
    }
    else 
    if(Greenfoot.isKeyDown("z"))
    {
        CardTable.check();
        if (Kartengleich) 
        {
          String points=+1;
        }
        else 
        {
          String points=-1;  
        }
    }
    String Text="Sieger";
    String Text2="Verlierer";
    String Text3="Zum Glück nicht der Verlierer, aber leider auch nicht Gewinner";
    if (points==20)
    {
        getWorld().showText(Text, 40, 40);
        Greenfoot.stop();
    }
    else
    if (points==0)
    {
        getWorld().showText(Text2, 40, 40);
        Greenfoot.stop();
    }
    else
    if (points<0&&points>20)
    {
        getWorld().showText(Text3, 40, 40);
        Greenfoot.stop();
    } 
}    
Antwort
von MrNaas, 33

Ich kann dein Screenshot nicht genug vergrößern dass man irgendwas erkennen könnte und ich vermute das liegt nicht an mir. Ansonsten wäre etwas mehr Code und vor allem die Fehlermeldung bzw. Beschreibung nicht verkehrt..

Antwort
von PerfectMuffin, 21
if (Kartengleich)//int, wird aber als boolean benutzt.
        {//Man schreibt übrigens Variablennamen NIEMALS groß.
          String points=+1;//points als String!?Zuweisung aber als int
        }//Warum das'+'?
        else 
        {
          String points=-1;  
        }
    }
    String Text="Sieger";//Warum schreibst du die nicht gleich in die Aufrufe?
    String Text2="Verlierer";
    String Text3="Zum Glück nicht der Verlierer, aber leider auch nicht Gewinner";
    if (points==20)//points auf einmal als int statt String.
    {
        getWorld().showText(Text, 40, 40);
        Greenfoot.stop();
    }
    else
    if (points==0)
    {
        getWorld().showText(Text2, 40, 40);
        Greenfoot.stop();
    }
    else
    if (points<0&&points>20)//WTF???
    {
        getWorld().showText(Text3, 40, 40);
        Greenfoot.stop();
    } 
} 

Am Besten von vorne anfangen.

Schonmal was von switch-case gehört?

Kommentar von TotalConquest ,

Bitte ein bisschen genauer!!!! Danke!!!!

Kommentar von PerfectMuffin ,

Wo bitte war ich ungenau?

Antwort
von Unkreatiiiev, 20

Das ist eine grausame Formatierung. Formatiere den Code und poste ihn auf Pastebin.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten