start from 0 works

This commit is contained in:
Jon Janzen
2021-03-21 19:27:16 -06:00
parent 1f33d87193
commit 750435847e

View File

@@ -60,19 +60,23 @@ fn main() {
let env = init_env();
let mut ball = Projectile::new(
Tuple::point(0.0, 0.0, 1.0),
Tuple::point(0.0, 0.0, 0.0),
Tuple::vector(2.2, 0.0, 21.0),
);
let mut canvas = Canvas::new(300, 300);
let color = Color::new(1.0, 1.0, 0.0);
while ball.position.z() < canvas.height() as f32
&& ball.position.z() >= 0.0
&& ball.position.x() < canvas.width() as f32
&& ball.position.x() >= 0.0 {
canvas.write_pixel(ball.position.x() as usize, canvas.height() - ball.position.z() as usize, color);
loop {
canvas.write_pixel(ball.position.x() as usize, canvas.height() - (ball.position.z() as usize) - 1, color);
ball.tick(&env);
println!("ball {}", ball);
if ball.position.z() >= (canvas.height() - 1) as f32
|| ball.position.z() < 0.0
|| ball.position.x() >= (canvas.width() - 1) as f32
|| ball.position.x() < 0.0 {
break;
}
}
let ppm = canvas.to_ppm();