public static boolean kollisionAbfangen(char c){
int[] aktuellePosition = findeRover();
if (c == 'f') {
aktuellePosition = findeRover();
if (getRoverUndHindernisse(marsKarte, aktuellePosition).equals("n") && getRoverUndHindernisse(marsKarte, new int[] {aktuellePosition[1]--}).equals("#"))
return false;
else if (getRoverUndHindernisse(marsKarte, aktuellePosition).equals("s") && getRoverUndHindernisse(marsKarte, new int[] {aktuellePosition[1]++}).equals("#"))
return false;
else if (getRoverUndHindernisse(marsKarte, aktuellePosition).equals("e") && getRoverUndHindernisse(marsKarte, new int[] {aktuellePosition[0]++}).equals("#"))
return false;
else if (getRoverUndHindernisse(marsKarte, aktuellePosition).equals("w") && getRoverUndHindernisse(marsKarte, new int[] {aktuellePosition[0]--}).equals("#"))
return false;
}
if (c == 'b') {
aktuellePosition = findeRover();
if (getRoverUndHindernisse(marsKarte, aktuellePosition).equals("s") && getRoverUndHindernisse(marsKarte, new int[] {aktuellePosition[1]--}).equals("#"))
return false;
else if (getRoverUndHindernisse(marsKarte, aktuellePosition).equals("n") && getRoverUndHindernisse(marsKarte, new int[] {aktuellePosition[1]++}).equals("#"))
return false;
else if (getRoverUndHindernisse(marsKarte, aktuellePosition).equals("w") && getRoverUndHindernisse(marsKarte, new int[] {aktuellePosition[0]++ }).equals("#"))
return false;
else if (getRoverUndHindernisse(marsKarte, aktuellePosition).equals("e") && getRoverUndHindernisse(marsKarte, new int[] {aktuellePosition[0]--}).equals("#"))
return false;
}
return true;
}
so ist mei code, der müsste eigentlich funktionieren.