Defense updates to use DRS

This commit is contained in:
Cal Corum 2023-03-04 15:37:46 -06:00
parent 4e46616add
commit fcae5ec0da

View File

@ -27,78 +27,77 @@ def range_catcher(rs_value: int, season_pct: float):
return 5
def range_first_base(r_range: int, r_dp: int, season_pct: float):
if (r_range + r_dp) >= (4 * season_pct):
def range_first_base(drs: int, r_dp: int, season_pct: float):
if (drs + r_dp) >= (4 * season_pct):
return 1
elif (r_range + r_dp) >= (1 * season_pct):
elif (drs + r_dp) >= (1 * season_pct):
return 2
elif (r_range + r_dp) >= (0 * season_pct):
elif (drs + r_dp) >= (-1 * season_pct):
return 3
elif (r_range + r_dp) >= (-2 * season_pct):
elif (drs + r_dp) >= (-3 * season_pct):
return 4
else:
return 5
def range_second_base(r_range: int, r_dp: int, season_pct: float):
# print(f'r_range ({r_range}) + r_dp ({r_dp}) = {r_range + r_dp}')
if (r_range + r_dp) >= (5 * season_pct):
def range_second_base(drs: int, r_dp: int, season_pct: float):
if (drs + r_dp) >= (8 * season_pct):
return 1
elif (r_range + r_dp) >= (2 * season_pct):
elif (drs + r_dp) >= (2 * season_pct):
return 2
elif (r_range + r_dp) >= (0 * season_pct):
elif (drs + r_dp) >= (0 * season_pct):
return 3
elif (r_range + r_dp) >= (-2 * season_pct):
elif (drs + r_dp) >= (-2 * season_pct):
return 4
else:
return 5
def range_third_base(r_range: int, r_dp: int, season_pct: float):
if (r_range + r_dp) >= (5 * season_pct):
def range_third_base(drs: int, r_dp: int, season_pct: float):
if (drs + r_dp) >= (5 * season_pct):
return 1
elif (r_range + r_dp) >= (2 * season_pct):
elif (drs + r_dp) >= (2 * season_pct):
return 2
elif (r_range + r_dp) >= (0 * season_pct):
elif (drs + r_dp) >= (0 * season_pct):
return 3
elif (r_range + r_dp) >= (-2 * season_pct):
elif (drs + r_dp) >= (-2 * season_pct):
return 4
else:
return 5
def range_shortstop(r_range: int, r_dp: int, season_pct: float):
if (r_range + r_dp) >= (6 * season_pct):
def range_shortstop(drs: int, r_dp: int, season_pct: float):
if (drs + r_dp) >= (9 * season_pct):
return 1
elif (r_range + r_dp) >= (2 * season_pct):
elif (drs + r_dp) >= (2 * season_pct):
return 2
elif (r_range + r_dp) >= (0 * season_pct):
elif (drs + r_dp) >= (0 * season_pct):
return 3
elif (r_range + r_dp) >= (-3 * season_pct):
elif (drs + r_dp) >= (-3 * season_pct):
return 4
else:
return 5
def range_center_field(r_range: int, season_pct: float):
if r_range >= 9 * season_pct:
def range_center_field(drs: int, season_pct: float):
if drs >= 9 * season_pct:
return 1
elif r_range >= 2 * season_pct:
elif drs >= 2 * season_pct:
return 2
elif r_range >= -2 * season_pct:
elif drs >= -1 * season_pct:
return 3
elif r_range >= -5 * season_pct:
elif drs >= -4 * season_pct:
return 4
else:
return 5
def range_left_field(r_range: int, season_pct: float):
return range_center_field(r_range, season_pct)
def range_left_field(drs: int, season_pct: float):
return range_center_field(drs, season_pct)
def range_right_field(r_range: int, season_pct: float):
return range_center_field(r_range, season_pct)
def range_right_field(drs: int, season_pct: float):
return range_center_field(drs, season_pct)
def valid_error_ratings(err_num: int, position: str) -> int: