def next_tick(self, move_list: list) -> None: '''gets move and handles event''' if Match.matches(self): Match.remove_matches(self) Helper.drop_cells(self) Helper.check_game_over(self) Match.match_cells(self) move = move_list[0] if move == NEXT: if self._faller: Faller.drop_faller(self) elif move == FALLER: if not self._faller: GameState.check_valid_col_faller(self, move_list[1]) Faller.make_faller(self, move_list[1], move_list[2]) elif move == MOVE_LEFT: if self._faller: Faller.move_faller(self, MOVE_LEFT) elif move == MOVE_RIGHT: if self._faller: Faller.move_faller(self, MOVE_RIGHT) elif move == ROTATE: if self._faller: Faller.rotate_faller(self) elif move == QUIT: self._game_over = True else: raise InvalidInput