Compare commits
	
		
			2 Commits
		
	
	
		
			0c95c28bc4
			...
			7fea13b9b3
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7fea13b9b3 | |||
| 639da57def | 
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/uebung10/logo/Go.class
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/uebung10/logo/Go.class
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/uebung10/logo/HanselGretelFrame$1.class
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/uebung10/logo/HanselGretelFrame$1.class
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/uebung10/logo/HanselGretelVisitor.class
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/uebung10/logo/HanselGretelVisitor.class
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/uebung10/logo/PenDown.class
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/uebung10/logo/PenDown.class
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/uebung10/logo/PenUp.class
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/uebung10/logo/PenUp.class
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/uebung10/logo/Sequence.class
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/uebung10/logo/Sequence.class
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/uebung10/logo/Stmt.class
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/uebung10/logo/Stmt.class
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/uebung10/logo/Turn.class
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/uebung10/logo/Turn.class
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/uebung10/logo/Visitor.class
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/uebung10/logo/Visitor.class
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
package logo;
 | 
			
		||||
package uebung10.logo;
 | 
			
		||||
 | 
			
		||||
public interface DarkForest {
 | 
			
		||||
    void breadCrumb(double x, double y);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package logo;
 | 
			
		||||
package uebung10.logo;
 | 
			
		||||
 | 
			
		||||
public class Demo {
 | 
			
		||||
    public static void main(String[] args) {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										19
									
								
								src/uebung10/logo/Go.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								src/uebung10/logo/Go.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
package uebung10.logo;
 | 
			
		||||
 | 
			
		||||
public class Go implements Stmt{
 | 
			
		||||
 | 
			
		||||
    public final double dist;
 | 
			
		||||
 | 
			
		||||
    public Go(double dist) {
 | 
			
		||||
        if (dist < 0) {
 | 
			
		||||
            throw new IllegalArgumentException();
 | 
			
		||||
        } else {
 | 
			
		||||
            this.dist = dist;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public <T> T accept(Visitor<T> visitor) {
 | 
			
		||||
        return visitor.visit(this);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package logo;
 | 
			
		||||
package uebung10.logo;
 | 
			
		||||
 | 
			
		||||
import javax.swing.JFrame;
 | 
			
		||||
import javax.swing.JPanel;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										18
									
								
								src/uebung10/logo/HanselGretelVisitor.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								src/uebung10/logo/HanselGretelVisitor.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
package uebung10.logo;
 | 
			
		||||
 | 
			
		||||
public class HanselGretelVisitor implements Visitor<Turtle> {
 | 
			
		||||
 | 
			
		||||
    private double gap;
 | 
			
		||||
    private double s;
 | 
			
		||||
    private Turtle turtle;
 | 
			
		||||
    private DarkForest forest;
 | 
			
		||||
 | 
			
		||||
    public HanselGretelVisitor(double s, Turtle turtle, DarkForest forest) {
 | 
			
		||||
        this.s = s;
 | 
			
		||||
        this.turtle = turtle;
 | 
			
		||||
        this.forest = forest;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										9
									
								
								src/uebung10/logo/PenDown.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								src/uebung10/logo/PenDown.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
package uebung10.logo;
 | 
			
		||||
 | 
			
		||||
public class PenDown implements Stmt{
 | 
			
		||||
    
 | 
			
		||||
    @Override
 | 
			
		||||
    public <T> T accept(Visitor<T> visitor) {
 | 
			
		||||
        return visitor.visit(this);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										9
									
								
								src/uebung10/logo/PenUp.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								src/uebung10/logo/PenUp.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
package uebung10.logo;
 | 
			
		||||
 | 
			
		||||
public class PenUp implements Stmt {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public <T> T accept(Visitor<T> visitor) {
 | 
			
		||||
        return visitor.visit(this);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										15
									
								
								src/uebung10/logo/Sequence.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								src/uebung10/logo/Sequence.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
package uebung10.logo;
 | 
			
		||||
 | 
			
		||||
public class Sequence implements Stmt {
 | 
			
		||||
 | 
			
		||||
    public final Stmt[] seq;
 | 
			
		||||
 | 
			
		||||
    public Sequence(Stmt... seq) {
 | 
			
		||||
        this.seq = seq;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public <T> T accept(Visitor<T> visitor) {
 | 
			
		||||
        return visitor.visit(this);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										7
									
								
								src/uebung10/logo/Stmt.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								src/uebung10/logo/Stmt.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
package uebung10.logo;
 | 
			
		||||
 | 
			
		||||
public interface Stmt {
 | 
			
		||||
 | 
			
		||||
    public <T> T accept(Visitor<T> visitor);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										15
									
								
								src/uebung10/logo/Turn.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								src/uebung10/logo/Turn.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
package uebung10.logo;
 | 
			
		||||
 | 
			
		||||
public class Turn implements Stmt{
 | 
			
		||||
 | 
			
		||||
    public final double angle;
 | 
			
		||||
 | 
			
		||||
    public Turn(double angle) {
 | 
			
		||||
        this.angle = angle;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public <T> T accept(Visitor<T> visitor) {
 | 
			
		||||
        return visitor.visit(this);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package logo;
 | 
			
		||||
package uebung10.logo;
 | 
			
		||||
 | 
			
		||||
public class Turtle {
 | 
			
		||||
    private double x;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										11
									
								
								src/uebung10/logo/Visitor.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								src/uebung10/logo/Visitor.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
package uebung10.logo;
 | 
			
		||||
 | 
			
		||||
public interface Visitor<T> {
 | 
			
		||||
 | 
			
		||||
    T visit(PenUp penUp);
 | 
			
		||||
    T visit(PenDown penDown);
 | 
			
		||||
    T visit(Turn turn);
 | 
			
		||||
    T visit(Sequence sequence);
 | 
			
		||||
    T visit(Go go);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user