Compare commits

..
5 Commits
Author SHA1 Message Date
schrom01 3c85ccb2eb code Cleanup 2022-10-17 21:29:16 +02:00
schrom01 6436ada263 removed unneeded imports 2022-10-17 21:01:14 +02:00
schrom01 c8aa16c246 Solved Task 3 2022-10-17 20:57:14 +02:00
schrom01 124caff620 Solved Task 2 2022-10-17 20:29:42 +02:00
schrom01 1ab54b5b76 Solved Task 2 2022-10-17 20:28:15 +02:00
4 changed files with 47 additions and 11 deletions
+1 -2
View File
@@ -6,7 +6,7 @@ import org.junit.jupiter.api.BeforeEach;
import java.util.StringTokenizer; import java.util.StringTokenizer;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
/*
public class ADS4_2_test { public class ADS4_2_test {
HilbertServer hlb; HilbertServer hlb;
Turtle turtle; Turtle turtle;
@@ -97,4 +97,3 @@ public class ADS4_2_test {
} }
} }
} }
*/
+1 -1
View File
@@ -11,7 +11,7 @@ public class HanoiServer implements CommandExecutor {
} else if (n > 1) { } else if (n > 1) {
moveDisk(n - 1, from, help, to, result); moveDisk(n - 1, from, help, to, result);
result.append("Lege die oberste Scheibe von Turm " + from + " auf Turm " + to + "\n"); result.append("Lege die oberste Scheibe von Turm " + from + " auf Turm " + to + "\n");
moveDisk(n-1, help, to, from, result); moveDisk(n - 1, help, to, from, result);
} }
} }
+37
View File
@@ -0,0 +1,37 @@
package ch.zhaw.ads;
public class HilbertServer implements CommandExecutor {
Turtle turtle;
@Override
public String execute(String command) {
int depth = Integer.parseInt(command);
double dist = 0.8 / (Math.pow(2,depth+1)-1);
turtle = new Turtle(0.1, 0.1);
hilbert(depth, dist, -90);
return turtle.getTrace();
}
public void hilbert(int depth, double dist, double angle){
if(depth < 0){
return;
}
depth --;
turtle.turn(-angle);
// draw recursive
hilbert(depth, dist, -angle);
turtle.move(dist);
turtle.turn(angle);
// draw recursive
hilbert(depth, dist, angle);
turtle.move(dist);
// draw recursive
hilbert(depth, dist, angle);
turtle.turn(angle);
turtle.move(dist);
// draw recursive
hilbert(depth, dist, -angle);
turtle.turn(-angle);
}
}
+8 -8
View File
@@ -1,7 +1,7 @@
package ch.zhaw.ads; package ch.zhaw.ads;
public class SnowflakeServer implements CommandExecutor { public class SnowflakeServer implements CommandExecutor {
double distanz = 1.0; double distanz = 0.7;
Turtle turtle; Turtle turtle;
@Override @Override
@@ -9,11 +9,11 @@ public class SnowflakeServer implements CommandExecutor {
int steps = Integer.parseInt(command); int steps = Integer.parseInt(command);
turtle = new Turtle(); turtle = new Turtle();
turtle.reset(0.5, 0.9); turtle.reset(0.5, 0.9);
turtle.turn(60); turtle.turn(240);
for(int i = 0; i > 3; i++){ for(int i = 0; i < 3; i++){
turtle.turn(-120); drawSnowFlake(steps, distanz);
drawSnowFlake(steps, 0.7 * distanz); turtle.turn(120);
} }
return turtle.getTrace(); return turtle.getTrace();
} }
@@ -25,11 +25,11 @@ public class SnowflakeServer implements CommandExecutor {
distanz = distanz / 3; distanz = distanz / 3;
steps--; steps--;
drawSnowFlake(steps, distanz); drawSnowFlake(steps, distanz);
turtle.turn(60); turtle.turn(-60);
drawSnowFlake(steps, distanz); drawSnowFlake(steps, distanz);
turtle.turn(-120); turtle.turn(120);
drawSnowFlake(steps, distanz); drawSnowFlake(steps, distanz);
turtle.turn(60); turtle.turn(-60);
drawSnowFlake(steps, distanz); drawSnowFlake(steps, distanz);
} }
} }