From 20e0f23c39843ad24f2a1086e44713fb8434f78f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20Kr=C3=B3l?= <chkrol0176@gmail.com> Date: Fri, 12 Nov 2021 19:48:58 +0100 Subject: [PATCH] Added Deck 4 --- "Deck 4/Der Universalschl\303\274ssel.java" | 45 +++++++++++++++++++ Deck 4/Der rechte Weg.java | 48 +++++++++++++++++++++ "Deck 4/Tabalugas Verm\303\244chtnis.java" | 39 +++++++++++++++++ 3 files changed, 132 insertions(+) create mode 100644 "Deck 4/Der Universalschl\303\274ssel.java" create mode 100644 Deck 4/Der rechte Weg.java create mode 100644 "Deck 4/Tabalugas Verm\303\244chtnis.java" diff --git "a/Deck 4/Der Universalschl\303\274ssel.java" "b/Deck 4/Der Universalschl\303\274ssel.java" new file mode 100644 index 0000000..7e0f43e --- /dev/null +++ "b/Deck 4/Der Universalschl\303\274ssel.java" @@ -0,0 +1,45 @@ +import codescape.Dogbot; +public class MyDogbot extends Dogbot { +/** + * Der Funktion run() wird ein Paramter überreicht + * @param keys Array mit Passwort-Strings für die vier Konsolen + */ + public void run(String[] keys) { + // Dein Code hier: + /* Zahlen: + * 0 -> move(); + * 1 -> turnLeft(); + * 2 -> turnRight(); + */ + moves("0001"); + write(keys[0]); + moves("2001"); + write(keys[1]); + moves("2002000202"); + write(keys[2]); + moves("1002"); + write(keys[3]); + moves("10000"); + } + + void moves(String steps){ + String moves = steps; + for (int i = 0; i < moves.length(); i ++){ + char step = moves.charAt(i); + switch (step){ + case '0': + move(); + break; + case '1': + turnLeft(); + break; + case '2': + turnRight(); + break; + case '3': + pickUp(); + break; + } + } + } +} \ No newline at end of file diff --git a/Deck 4/Der rechte Weg.java b/Deck 4/Der rechte Weg.java new file mode 100644 index 0000000..94348c7 --- /dev/null +++ b/Deck 4/Der rechte Weg.java @@ -0,0 +1,48 @@ +import codescape.Dogbot; +public class MyDogbot extends Dogbot { +/** + * Der Funktion run() wird ein Paramter überreicht, + * der zum Lösen des Raums benötigt wird. + * @param nr Nummer des Teleporters, der zum Ausgang führt + */ + public void run(int nr) { + // Dein Code hier: + System.out.print(nr); + switch (nr) { + case 1: + moves("00100020010022030"); + break; + case 2: + moves("001000200200030"); + case 3: + moves("00200010010022030"); + case 4: + moves("002000100200030"); + } + + + + } + void moves(String steps){ + String moves = steps; + for (int i = 0; i < moves.length(); i ++){ + char step = moves.charAt(i); + switch (step){ + case '0': + move(); + break; + case '1': + turnLeft(); + break; + case '2': + turnRight(); + break; + case '3': + pickUp(); + break; + } + } + } + + +} \ No newline at end of file diff --git "a/Deck 4/Tabalugas Verm\303\244chtnis.java" "b/Deck 4/Tabalugas Verm\303\244chtnis.java" new file mode 100644 index 0000000..a0be55d --- /dev/null +++ "b/Deck 4/Tabalugas Verm\303\244chtnis.java" @@ -0,0 +1,39 @@ +import codescape.Dogbot; +public class MyDogbot extends Dogbot { + + public void run() { + // Einlesen des Strings und Bewegung des RB zum Beginn des Labyrinths + move(); + turnLeft(); + /** + * gelesen wird ein Wort, das aus den Buchstaben "L", "M" und "R" besteht + * getrennt werden die Buchstaben durch ein Komma + * die Variable "weg" könnte so aussehen: "M,L,M,M,R,M" + */ + String weg = read(); + for (int i=0; i<2; i++) { + turnRight(); + } + + String[] path = weg.split(","); + + for(String moves : path){ + switch (moves){ + case "L": + turnLeft(); + break; + case "R": + turnRight(); + break; + case "M": + move(); + break; + } + } + + move(); + turnLeft(); + move(); + + } +} \ No newline at end of file -- GitLab