Auf Thema antworten

Der Großteil deines Switches ist nämlich falsch und schließt nicht alle Randfälle aus ;)


So sollte die Randbehandlung aussehen:


[CODE=java]switch(symbol) {

            case 'o':

                if(playerpositiony == 0) {return false;}

                if(labyrinth[playerpositiony-1][playerpositionx] == false){return false;}

                else {playerpositiony -= 1; return true;}

            case 'u':

                if((labyrinth.length-1) == playerpositiony) {return false;}

                if(labyrinth[playerpositiony+1][playerpositionx] == false){return false;}

                else {playerpositiony += 1; return true;}

            case 'l':

                if(playerpositionx == 0) {return false;}

                if(labyrinth[playerpositiony][playerpositionx-1] == false){return false;}

                else {playerpositionx -= 1;return true;}

            case 'r':

                if((labyrinth[playerpositiony].length-1) == playerpositionx) {return false;}

                if(labyrinth[playerpositiony][playerpositionx+1] == false){return false;}

                else {playerpositionx += 1; return true;}

        }[/CODE]



Oben