From de3ff45f1b5fbc96d9df624a017090a343cee025 Mon Sep 17 00:00:00 2001 From: Mark Date: Sun, 2 Mar 2025 20:25:08 -0800 Subject: [PATCH] Quick drop and lose condition --- README.md | 5 +---- tetros/src/lib.rs | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index c4d2316..f72fba1 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,2 @@ -- quick drop -- faster timer - fix asm loader -- document everything -- prettier pictures \ No newline at end of file +- document everything \ No newline at end of file diff --git a/tetros/src/lib.rs b/tetros/src/lib.rs index 816e26a..d8c66b6 100644 --- a/tetros/src/lib.rs +++ b/tetros/src/lib.rs @@ -205,12 +205,14 @@ pub unsafe extern "C" fn start(thunk10: extern "C" fn()) -> ! { }; } - Some(InputKey::Down) => { - fall_test.rotate_ccw(); + Some(InputKey::Down) => loop { + fall_test.translate(0, 1); if board.tetromino_valid(&fall_test) { - fall.rotate_ccw() - }; - } + fall.translate(0, 1); + } else { + break; + } + }, Some(InputKey::Left) => { fall_test.translate(-1, 0); @@ -244,7 +246,7 @@ pub unsafe extern "C" fn start(thunk10: extern "C" fn()) -> ! { board.draw(&mut v, fall.as_ref()); if let Some(fall_inner) = fall.as_mut() { - if t % 5 == 0 { + if t % 4 == 0 { let mut fall_test = fall_inner.clone(); fall_test.translate(0, 1); @@ -258,7 +260,10 @@ pub unsafe extern "C" fn start(thunk10: extern "C" fn()) -> ! { } } } else { - *fall = Some(FallingTetromino::random(5, 1)) + *fall = Some(FallingTetromino::random(5, 1)); + if !board.tetromino_valid(fall.as_ref().unwrap()) { + panic!("\nGAME OVER"); + } } }) }