начал писать turtle impl
parent
0889732c25
commit
299e45134e
|
@ -3,12 +3,7 @@ mod turtle;
|
||||||
use turtle::Turtle;
|
use turtle::Turtle;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
|
||||||
let mut turtle = Turtle::new();
|
let mut turtle = Turtle::new();
|
||||||
println!("Pos = {:?}", turtle.position());
|
turtle.draw_line((50, 50), (200, 200));
|
||||||
|
|
||||||
let start = (50, 50);
|
|
||||||
let end = (200, 200);
|
|
||||||
turtle.draw_line(start, end);
|
|
||||||
turtle.save("output.png").unwrap();
|
turtle.save("output.png").unwrap();
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,11 +10,12 @@ type Coord = (i32, i32);
|
||||||
|
|
||||||
const DEFAULT_WIDTH: u32 = 800;
|
const DEFAULT_WIDTH: u32 = 800;
|
||||||
const DEFAULT_HEIGHT: u32 = 800;
|
const DEFAULT_HEIGHT: u32 = 800;
|
||||||
|
const DEFAULT_BACKGROUND_COLOUR: Colour = Rgb([255u8, 255u8, 255u8]);
|
||||||
|
const DEFAULT_COLOUR: Colour = Rgb([0u8, 0u8, 0u8]);
|
||||||
|
|
||||||
pub struct Turtle {
|
pub struct Turtle {
|
||||||
buf: ImgBufU8,
|
buf: ImgBufU8,
|
||||||
colour: Colour,
|
colour: Colour,
|
||||||
background_colour: Colour,
|
|
||||||
pos: Coord,
|
pos: Coord,
|
||||||
angle: f64,
|
angle: f64,
|
||||||
}
|
}
|
||||||
|
@ -23,13 +24,12 @@ impl Turtle {
|
||||||
pub fn new() -> Self {
|
pub fn new() -> Self {
|
||||||
let mut buf = ImageBuffer::new(DEFAULT_WIDTH, DEFAULT_HEIGHT);
|
let mut buf = ImageBuffer::new(DEFAULT_WIDTH, DEFAULT_HEIGHT);
|
||||||
for pixel in buf.pixels_mut() {
|
for pixel in buf.pixels_mut() {
|
||||||
*pixel = Rgb([255u8, 255u8, 255u8]);
|
*pixel = DEFAULT_BACKGROUND_COLOUR;
|
||||||
}
|
}
|
||||||
|
|
||||||
Turtle {
|
Turtle {
|
||||||
buf,
|
buf,
|
||||||
colour: Rgb([0u8, 0u8, 0u8]),
|
colour: DEFAULT_COLOUR,
|
||||||
background_colour: Rgb([255u8, 255u8, 255u8]),
|
|
||||||
pos: (0, 0),
|
pos: (0, 0),
|
||||||
angle: 0.0,
|
angle: 0.0,
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue