Refactored for method decomposition with private methods for init_roll, strike?, score_strike, spare?, score_spare, score_normal