java erstes projekt

Bitte aktiviere JavaScript!
A

Anzeige


Vielleicht hilft dir dieser Kurs hier weiter: (hier klicken)
Kriege neues Projekt, aber denke da packe ich das
Dir ist klar, dass die erste Aufgabe die zum Aufwärmen ist?

Jetzt schlaf' mal eine Nacht drüber, dann schaust Du Dir morgen mal die Sache nochmal an. Wenn Du willst, dann beantwortest Du #250 und dann wirst Du die paar Zeilen wohl auch noch hinbekommen.

Irgendwie müssen wir den Thread ja am Laufen halten, unter 500 Kommentare gebe ich mich nicht zufrieden :p
 
Verdammt, schlechte Aussichten für mich :(
Ne
Dir ist klar, dass die erste Aufgabe die zum Aufwärmen ist?

Jetzt schlaf' mal eine Nacht drüber, dann schaust Du Dir morgen mal die Sache nochmal an. Wenn Du willst, dann beantwortest Du #250 und dann wirst Du die paar Zeilen wohl auch noch hinbekommen.

Irgendwie müssen wir den Thread ja am Laufen halten, unter 500 Kommentare gebe ich mich nicht zufrieden :p
Ja mache ich, hast ja richtig Spaß
 
So Leute bin back,
Am besten fangen wir von neu an.

Also ich möchte einen Code schreiben der dafür sorgt dass der Rover voher abfragt ob der nächste schritt notwendig auf ein Rover landet, aber leider weiß ich nicht wie ich das machen soll?
Ich hatte überlegt abzufragen was übergeben wird also ob f oder b übergeben je dann wollte ich von der move Methode die Bedingungen kopieren und einen weiteren booleschen Ausdruck hinzuzufügen das besagt aktuekleposition++ == „#“
 
Fang nochmal einen Schritt früher an.
Was bedeutet i++, wenn i eine integer-Variable mit Wert 0 ist? Welchen Wert hat der Ausdruck i++ und welchen Wert hat i danach?
 
Dass der Wert danach diesen Wert beinhaltet so daas i danach i = i+ 1 ist,
Das heißt ich muss es so machen dass i sich nicht verändert aber wie
Mal ein Beispiel, du musst die Erkenntnis daraus, danach auf dein Problem abstrahieren umsetzen:

Java:
boolean istDieZahlVier(int zahl) {
    return zahl == 4; // Das Ergebnis wird wahr, wenn die Zahl im Parameter gleich 4 ist
}

// Nehmen wir jetzt an, dass du später prüfen möchtest, ob eine Zahl = 4 ist, dann:

int zahl = 3;
istDieZahlVier(zahl); // ergibt false

// Möchtest du prüfen, ob die nächst größere Zahl = 4 ist, dann könntest du machen:

istDieZahlVier(zahl++); // ergibt true, aber jetzt ist die zahl nicht mehr 3 sondern 4, dass wolltest du nicht

// Du könntest es auch so machen:

istDieZahlVier(zahl + 1); // ergibt true, aber die zahl bleibt auf den alten Wert. Es wird 1 zur Zahl addiert und dieser neue Wert an die Methode übergeben.
 
Zuletzt bearbeitet:
Mal ein Beispiel, du musst die Erkenntnis daraus, danach auf dein Problem abstrahieren:

Java:
boolean istDieZahlVier(int zahl) {
    return zahl == 4; // Das Ergebnis wird wahr, wenn die Zahl im Parameter gleich 4 ist
}

// Nehmen wir jetzt an, dass du später prüfen möchtest, ob eine Zahl = 4 ist, dann:

int zahl = 3;
istDieZahlVier(zahl); // ergibt false

// Möchtest du prüfen, ob die nächst größere Zahl = 4 ist, dann könntest du machen:

istDieZahlVier(zahl++); // ergibt true, aber jetzt ist die zahl nicht mehr 3 sondern 4, dass wolltest du nicht

// Du könntest es auch so machen:

istDieZahlVier(zahl + 1); // ergibt true, aber die zahl bleibt auf den alten Wert. Es wird 1 zur Zahl addiert und dieser neue Wert an die Methode übergeben.
Womit soll ich das subtrahieren
 
Das steht doch in dem Beispiel: zahl++ verändert die Variable zahl, zahl+1 verändert die Variable zahl nicht. Ersetze zahl durch i und Du hast die Antwort auf die Frage, wie du "es so machen" kannst, dass sich i nicht verändert.
 
Java:
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.
So sieht er aus, wenn ich das Minus weg mache dann klappt das nicht.
 
So sieht er aus, wenn ich das Minus weg mache dann klappt das nicht.
Schau dir mal dies an: int[] aktuellePosition = findeRover();

Bei der Position handelt es sich um ein Array mit zwei Elementen (sozusagen X/Y-Koordinaten). Auch die Methode "getRoverUndHindernisse" erwartet als Parameter ein Array. Du übergibst zwar ein Array, aber nur mit einem Element.

Schau dir noch mal Beitrag #265 weiter oben an, es fehlt eigentlich nur die zweite Hälfte der Koordinate.

In Beitrag #237 steht, wie du auf die beiden Teile der Koordinate zugreifen kannst.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben