1
0

Quick drop and lose condition

This commit is contained in:
Mark 2025-03-02 20:25:08 -08:00
parent f7aa9c6e35
commit f24af6f800
Signed by: Mark
GPG Key ID: C6D63995FE72FD80
2 changed files with 13 additions and 11 deletions

View File

@ -1,5 +1,2 @@
- quick drop
- faster timer
- fix asm loader - fix asm loader
- document everything - document everything
- prettier pictures

View File

@ -205,12 +205,14 @@ pub unsafe extern "C" fn start(thunk10: extern "C" fn()) -> ! {
}; };
} }
Some(InputKey::Down) => { Some(InputKey::Down) => loop {
fall_test.rotate_ccw(); fall_test.translate(0, 1);
if board.tetromino_valid(&fall_test) { if board.tetromino_valid(&fall_test) {
fall.rotate_ccw() fall.translate(0, 1);
}; } else {
} break;
}
},
Some(InputKey::Left) => { Some(InputKey::Left) => {
fall_test.translate(-1, 0); 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()); board.draw(&mut v, fall.as_ref());
if let Some(fall_inner) = fall.as_mut() { if let Some(fall_inner) = fall.as_mut() {
if t % 5 == 0 { if t % 4 == 0 {
let mut fall_test = fall_inner.clone(); let mut fall_test = fall_inner.clone();
fall_test.translate(0, 1); fall_test.translate(0, 1);
@ -258,7 +260,10 @@ pub unsafe extern "C" fn start(thunk10: extern "C" fn()) -> ! {
} }
} }
} else { } else {
*fall = Some(FallingTetromino::random(5, 1)) *fall = Some(FallingTetromino::random(5, 1));
if !board.tetromino_valid(fall.as_ref().unwrap()) {
panic!("\nGAME OVER");
}
} }
}) })
} }