reorganizing the code

This commit is contained in:
2022-08-23 10:52:20 +02:00
parent d8a5c67fd5
commit ee2c869a03
14 changed files with 327 additions and 280 deletions
+46
View File
@@ -0,0 +1,46 @@
use crate::{
datatypes::{angle::Angle, length::Length},
turtle::TurtleCommand,
};
#[allow(dead_code)]
pub fn circle_star() -> Vec<TurtleCommand> {
vec![
TurtleCommand::Right(Angle::degrees(36.)),
TurtleCommand::Forward(Length(200.)),
TurtleCommand::Right(Angle::degrees(90.)),
TurtleCommand::Circle {
radius: Length(20.),
angle: Angle::degrees(324.),
},
TurtleCommand::Right(Angle::degrees(90.)),
TurtleCommand::Forward(Length(200.)),
TurtleCommand::Right(Angle::degrees(90.)),
TurtleCommand::Circle {
radius: Length(20.),
angle: Angle::degrees(324.),
},
TurtleCommand::Right(Angle::degrees(90.)),
TurtleCommand::Forward(Length(200.)),
TurtleCommand::Right(Angle::degrees(90.)),
TurtleCommand::Circle {
radius: Length(20.),
angle: Angle::degrees(324.),
},
TurtleCommand::Right(Angle::degrees(90.)),
TurtleCommand::Forward(Length(200.)),
TurtleCommand::Right(Angle::degrees(90.)),
TurtleCommand::Circle {
radius: Length(20.),
angle: Angle::degrees(324.),
},
TurtleCommand::Right(Angle::degrees(90.)),
TurtleCommand::Forward(Length(200.)),
TurtleCommand::Right(Angle::degrees(90.)),
TurtleCommand::Circle {
radius: Length(20.),
angle: Angle::degrees(324.),
},
TurtleCommand::Right(Angle::degrees(90.)),
]
}
+32
View File
@@ -0,0 +1,32 @@
use crate::{
datatypes::{angle::Angle, length::Length},
turtle::TurtleCommand,
};
#[allow(dead_code)]
pub fn geometry_task() -> Vec<TurtleCommand> {
vec![
TurtleCommand::Forward(Length(100.)),
TurtleCommand::Right(Angle::degrees(90.)),
TurtleCommand::Backward(Length(100.)),
TurtleCommand::Right(Angle::degrees(90.)),
TurtleCommand::Forward(Length(100.)),
TurtleCommand::Right(Angle::degrees(45.)),
//TurtleCommand::PenUp,
TurtleCommand::Forward(Length(100.)),
TurtleCommand::Right(Angle::degrees(90.)),
TurtleCommand::Forward(Length(50.)),
TurtleCommand::Right(Angle::degrees(90.)),
TurtleCommand::Forward(Length(100.)),
TurtleCommand::Right(Angle::degrees(90.)),
TurtleCommand::Forward(Length(50.)),
TurtleCommand::Right(Angle::degrees(45.)),
TurtleCommand::Forward(Length(100.)),
TurtleCommand::Left(Angle::degrees(120.)),
TurtleCommand::Forward(Length(100.)),
TurtleCommand::Left(Angle::degrees(120.)),
TurtleCommand::Forward(Length(100.)),
TurtleCommand::Right(Angle::degrees(150.)),
TurtleCommand::Forward(Length(100.)),
]
}
+2
View File
@@ -0,0 +1,2 @@
pub mod circle_star;
pub mod geometry_task;