Beispielprojekte

This commit is contained in:
ngb
2022-01-02 22:12:21 +01:00
parent c712826c07
commit ba9d3e9fe3
12 changed files with 526 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
# Zeichenmaschine: Skyline
Skyline ist ein Projekt mit der Turtle-Ebene der Zeichenmaschine. Jede
Schüler:in programmiert ein Haus der Skyline. Dazu müssen vorher
gemeinsam Vorgaben festgelegt werden. Wichtig ist, dass die Turtle immer in der
unteren linken Ecke des Hauses startet und in der rechten unteren Ecke endet
(damit dort dann das nächste Haus gezeichnet werden kann).
Wenn jede Schüler:in ihr Haus in eine eigene Methode schreibt, können diese
nacheinander aufgerufen werden, um die finale Skyline zu erstellen.

View File

@@ -0,0 +1,65 @@
import schule.ngb.zm.Color;
import schule.ngb.zm.Zeichenmaschine;
import schule.ngb.zm.turtle.TurtleLayer;
public class Skyline extends Zeichenmaschine {
TurtleLayer turtle;
public void setup() {
setSize(1000, 600);
setTitle("Zeichenmaschine: Skyline");
// Turtle-Ebene erstellen
turtle = new TurtleLayer();
addLayer(turtle);
// Hintergrund schwarz
background.setColor(BLACK);
turtle.noStroke();
turtle.penUp();
turtle.lt(90);
turtle.fd(300);
turtle.rt(90);
turtle.penDown();
}
public void draw() {
for( int i = 0; i < 6; i++ ) {
haus1(randomColor());
}
turtle.setStrokeColor(BLUE);
}
public void haus1( Color clr ) {
turtle.setFillColor(clr);
quad(100, 80);
turtle.fill();
turtle.fd(100);
turtle.rt(45);
turtle.fd(80/sqrt(2));
turtle.rt(90);
turtle.fd(80/sqrt(2));
turtle.rt(45);
turtle.fill();
turtle.fd(100);
turtle.rt(180);
}
public void quad( int a, int b ) {
turtle.fd(a);
turtle.rt(90);
turtle.fd(b);
turtle.rt(90);
turtle.fd(a);
turtle.rt(90);
turtle.fd(b);
turtle.rt(90);
}
public static void main( String[] args ) {
new Skyline();
}
}

View File

@@ -0,0 +1,69 @@
#BlueJ package file
dependency1.from=BluejTest
dependency1.to=ClasspathInspector
dependency1.type=UsesDependency
dependency2.from=Gravity
dependency2.to=Mover
dependency2.type=UsesDependency
dependency3.from=Gravity
dependency3.to=Attractor
dependency3.type=UsesDependency
editor.fx.0.height=728
editor.fx.0.width=1037
editor.fx.0.x=95
editor.fx.0.y=53
objectbench.height=94
objectbench.width=776
package.divider.horizontal=0.6
package.divider.vertical=0.8305369127516778
package.editor.height=488
package.editor.width=661
package.editor.x=374
package.editor.y=158
package.frame.height=660
package.frame.width=800
package.numDependencies=3
package.numTargets=5
package.showExtends=true
package.showUses=true
project.charset=UTF-8
readme.height=60
readme.name=@README
readme.width=48
readme.x=10
readme.y=10
target1.height=70
target1.name=Mover
target1.showInterface=false
target1.type=ClassTarget
target1.width=120
target1.x=320
target1.y=200
target2.height=70
target2.name=BluejTest
target2.showInterface=false
target2.type=ClassTarget
target2.width=120
target2.x=70
target2.y=10
target3.height=70
target3.name=Attractor
target3.showInterface=false
target3.type=ClassTarget
target3.width=120
target3.x=390
target3.y=350
target4.height=70
target4.name=ClasspathInspector
target4.showInterface=false
target4.type=ClassTarget
target4.width=130
target4.x=380
target4.y=30
target5.height=70
target5.name=Gravity
target5.showInterface=false
target5.type=ClassTarget
target5.width=120
target5.x=100
target5.y=300