Improve handling and fix some bugs

This commit is contained in:
2026-05-01 04:54:16 -07:00
parent 8516b43924
commit 18f4e61761
+5 -1
View File
@@ -570,6 +570,8 @@ class Game:
if not self.intersects_board(*np, new_piece):
self.current_block = new_piece
self.current_block_pos = np
# give the user some leeway to splin many times
self.subcell_drop = 0
return
def move_current_piece(self, dir: Direction):
@@ -577,6 +579,8 @@ class Game:
self.subcell_move += dx
move_cell = int(self.subcell_move)
self.subcell_move -= move_cell
# give the user some leeway to move in tight quarters
self.subcell_drop = 0
if move_cell:
new_pos = Cell(
self.current_block_pos.x + move_cell, self.current_block_pos.y
@@ -837,6 +841,7 @@ class Game:
self.process_and_draw_help_overlay()
def start_new_game(self):
self.cur_random_peice_seq = None
self.clear_board()
self.next_piece = None
self.swap_in_next_piece(True)
@@ -941,7 +946,6 @@ class Game:
self.clock.tick(Game.FRAMERATE)
def swap_in_next_piece(self, force: bool = False):
self.cur_random_peice_seq = None
if not self.next_piece or force:
self.next_piece = self.random_tetromino()
self.current_block = self.random_tetromino()