use bevy::prelude::*; use turtle_lib::builders::{DirectionalMovement, Turnable}; use turtle_lib::turtle_bundle::AnimatedTurtle; use turtle_lib::{get_a_turtle, TurtlePlugin}; use bevy::diagnostic::{FrameTimeDiagnosticsPlugin, LogDiagnosticsPlugin}; #[derive(Component, Reflect)] struct Egon {} fn main() { App::new() .add_plugin(TurtlePlugin) .add_startup_system(setup) //.add_system(plan) .add_plugin(LogDiagnosticsPlugin::default()) .add_plugin(FrameTimeDiagnosticsPlugin::default()) .run(); } fn setup(mut commands: Commands) { let mut turtle = get_a_turtle(); turtle.set_speed(500); stern(&mut turtle); commands.spawn((turtle, Egon {})); } fn stern(turtle: &mut AnimatedTurtle) { // Draw the roof of the house turtle.left(45); turtle.forward(70); turtle.right(90); turtle.forward(70); turtle.left(45); // Draw the sides of the house turtle.left(90); turtle.forward(100); turtle.left(90); turtle.forward(50); turtle.left(90); turtle.forward(100); turtle.left(90); turtle.forward(50); // Draw the door of the house turtle.left(90); turtle.forward(25); turtle.right(90); turtle.forward(20); turtle.right(90); turtle.forward(25); turtle.left(90); turtle.forward(50); // Draw the chimney of the house turtle.left(90); turtle.forward(25); turtle.right(90); turtle.forward(10); turtle.right(90); turtle.forward(25); turtle.left(90); turtle.forward(10); turtle.left(90); turtle.forward(10); turtle.right(90); turtle.forward(25); turtle.left(90); turtle.forward(10); turtle.left(90); turtle.forward(10); }