remove the bevy based turtle and rename turtle-lib-macroquad to turtle-lib
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
//! Koch snowflake fractal example
|
||||
|
||||
use turtle_lib::*;
|
||||
|
||||
fn koch(depth: u32, turtle: &mut TurtlePlan, distance: f32) {
|
||||
if depth == 0 {
|
||||
turtle.forward(distance);
|
||||
} else {
|
||||
let new_distance = distance / 3.0;
|
||||
koch(depth - 1, turtle, new_distance);
|
||||
turtle.left(60.0);
|
||||
koch(depth - 1, turtle, new_distance);
|
||||
turtle.right(120.0);
|
||||
koch(depth - 1, turtle, new_distance);
|
||||
turtle.left(60.0);
|
||||
koch(depth - 1, turtle, new_distance);
|
||||
}
|
||||
}
|
||||
|
||||
#[turtle_main("Koch Snowflake")]
|
||||
fn draw(turtle: &mut TurtlePlan) {
|
||||
// Position turtle
|
||||
turtle.set_speed(1001);
|
||||
turtle.pen_up();
|
||||
turtle.backward(150.0);
|
||||
|
||||
turtle.pen_down();
|
||||
|
||||
// Draw Koch snowflake (triangle of Koch curves)
|
||||
for _ in 0..3 {
|
||||
koch(4, turtle, 300.0);
|
||||
turtle.right(120.0);
|
||||
turtle.set_speed(1200);
|
||||
}
|
||||
|
||||
turtle.hide(); // Hide turtle when done
|
||||
}
|
||||
Reference in New Issue
Block a user