diff --git a/src/main.rs b/src/main.rs index c15d1fc..d56ae7e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -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();