# While schleife "or" probelm



## aaron2676 (7. Okt 2021)

Ich versuche ein Projektil zu erstellen, dass sich bewegt, solange es nichts berührt. Aber ich bekomme immer gesagt "bad operand types for binary operator '||'.
Der untere Teil funktioniert, aber die Schleife nicht.


```
protected void addedToWorld(World world)
    {
        setImage("images/Projektil.png");
        world = getWorld();
        while(!isTouching(Rover.class) || (Projektil.class) ||(Marke.class))
        {
            move(1);
        }
        if(isTouching(Projektil.class))
       {
           Greenfoot.playSound("Projektilexplosion.wav");
           removeTouching(Projektil.class);
       }
       if(isTouching (Rover.class))
        {
            Greenfoot.playSound("Projektilexplosion.wav");
            removeTouching(Rover.class);
        }
        if(isTouching (Marke.class))
        {
            Greenfoot.playSound("Projektilexplosion.wav");
            removeTouching(Marke.class);
        }
    }
```


----------



## aaron2676 (7. Okt 2021)

Wow... bin direkt nach dem posten darauf gekommen. Man muss die Bedingung einfach nochmal wiederholen also in dem Fall 
while(!isTouching(Rover.class) || !isTouching(Projektil.class) ||!isTouching(Marke.class))


----------



## mihe7 (8. Okt 2021)

aaron2676 hat gesagt.:


> Man muss die Bedingung einfach nochmal wiederholen also in dem Fall


Man könnte auch sagen, dass (Projektil.class) und (Marke.class) keine Booleschen Ausdrücke sind, isTouching(Projektil.class) und isTouching(Marke.class) dagegen schon.


----------

