H
Heyoka955
Gast
hallo wir haben ein fast gefertigtes Programm bekommen und das Programm hat einen kleinen bug auf den ich später eingehen möchte.
Unsere aufgabe ist es sauberen Code zu schreiben bzw. Die regeln der calistenics anzuwenden.
und ich hätte eine frage zum auszug eines codes?
Was macht genau die Methode init?
Das ist nur eine Methode vom Programm, ich wollte schritt für schritt das Programm durchgehen.
Ich weiß nicht ob ich ehe rmit der aufgabe 1 anfangen soll oder zwei?
die aufgabe lautet:
Sie bekommen ein Programm, das einen Roboter über den Mars steuert. Das Programm wird mit ./gradlew run --args="<INSTRUKTIONEN>" aufgerufen.
Auf der Oberfläche werden zufällig Hindernisse platziert. Die Instruktionen sind eine Sequenz von Buchstaben, die den Roboter steuern. Gültige Buchstaben sind:
Ein Beispiel für eine Kontrollsequenz, bei der der Rover zwei Schritte vorwärts macht, sich im Uhrzeiger dreht und dann zwei Schritte rückwärts moonwalkt wäre ffrbb.
Der Aufruf wäre entsprechend: ./gradlew run --args="ffrbb"
Das Programm gibt eine Karte des Planeten nach jedem Schritt aus. Hindernisse sind mit # markiert und der Rover durch einen Pfeil.
Unsere aufgabe ist es sauberen Code zu schreiben bzw. Die regeln der calistenics anzuwenden.
und ich hätte eine frage zum auszug eines codes?
Was macht genau die Methode init?
Das ist nur eine Methode vom Programm, ich wollte schritt für schritt das Programm durchgehen.
Ich weiß nicht ob ich ehe rmit der aufgabe 1 anfangen soll oder zwei?
die aufgabe lautet:
Sie bekommen ein Programm, das einen Roboter über den Mars steuert. Das Programm wird mit ./gradlew run --args="<INSTRUKTIONEN>" aufgerufen.
Auf der Oberfläche werden zufällig Hindernisse platziert. Die Instruktionen sind eine Sequenz von Buchstaben, die den Roboter steuern. Gültige Buchstaben sind:
- l - Dreht den Rover gegen den Uhrzeigersinn (left)
- r - Dreht den Rover mit dem Uhrzeigersinn (right)
- f - Bewegt den Rover einen Schritt vorwärts (forward)
- b - Bewegt den Rover einen Schritt rückwärts (backward)
Ein Beispiel für eine Kontrollsequenz, bei der der Rover zwei Schritte vorwärts macht, sich im Uhrzeiger dreht und dann zwei Schritte rückwärts moonwalkt wäre ffrbb.
Der Aufruf wäre entsprechend: ./gradlew run --args="ffrbb"
Das Programm gibt eine Karte des Planeten nach jedem Schritt aus. Hindernisse sind mit # markiert und der Rover durch einen Pfeil.
Java:
static Random r = new Random();
static LinkedHashMap<int[], String> mars;
static int x = 80;
static int y = 20;
static int rx = x / 2;
static int ry = y / 2;
public static void init() {
mars = new LinkedHashMap<>();
for (int i = 0; i < x; i++) {
for (int j = 0; j < y; j++) {
int[] p = new int[] { i, j };
if (r.nextDouble() < 0.25 && !(rx == i && ry == j))
mars.put(p, "#");
}
}
mars.put(new int[] { rx, ry }, "n");
}