コード例 #1
0
 def drop_faller(gamestate) -> None:
     '''drops faller one row if row is empty, faller landed if empty under new faller, else freeze faller'''
     faller_cells = Helper._get_faller_cells(gamestate)
     last_faller_cell = faller_cells[2]
     if Helper._empty_under_cell(gamestate, last_faller_cell):
         gamestate._last_faller_row += 1
         for cell in faller_cells[::-1]:
             gamestate._board[cell._row+1][cell._col].make_faller_cell(cell._display)
             cell.make_empty_cell()
         if Faller._landed(gamestate):
             Faller._assert_landed_cells(gamestate)
     else:
         Faller._freeze_faller(gamestate)
コード例 #2
0
 def _landed(gamestate) -> bool:
     '''returns true if faller landed'''
     new_last_faller_cell = Helper._get_faller_cells(gamestate)[2]
     empty_under_cell = Helper._empty_under_cell(gamestate, new_last_faller_cell)
     return not empty_under_cell