CLAUDE: Fix DO3 (double-3) batter advancement
Fixed incorrect batter advancement for DO3 (double-3) outcomes. The batter was incorrectly reaching 3B instead of 2B. DO3 means: - DO = Double (batter reaches 2B) - 3 = Runners advance 3 bases Changes: - play_resolver.py: Fixed DOUBLE_3 outcome handling (line 416) - Changed batter_result from 3 to 2 - Updated description to clarify "runners advance 3 bases" not "batter to 3rd" - play_resolver.py: Fixed X-Check DO3 handling (line 1043) - Changed batter_reaches from 3 to 2 - Added comment explaining DO3 notation Now on a DO3 + NO error: ✅ Batter reaches 2B (correct) ✅ R1 advances 3 bases → HOME (correct) ✅ R2 would advance 3 bases → HOME (correct) ✅ R3 would advance 3 bases → HOME (correct) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
cf7cc23f45
commit
76e01420a3
@ -405,7 +405,7 @@ class PlayResolver:
|
|||||||
)
|
)
|
||||||
|
|
||||||
elif outcome == PlayOutcome.DOUBLE_3:
|
elif outcome == PlayOutcome.DOUBLE_3:
|
||||||
# Double with extra advancement (batter to 3rd)
|
# Double with extra runner advancement (runners advance 3 bases)
|
||||||
runners_advanced = self._advance_on_double_3(state)
|
runners_advanced = self._advance_on_double_3(state)
|
||||||
runs_scored = sum(1 for (from_base, to_base) in runners_advanced if to_base == 4)
|
runs_scored = sum(1 for (from_base, to_base) in runners_advanced if to_base == 4)
|
||||||
|
|
||||||
@ -413,9 +413,9 @@ class PlayResolver:
|
|||||||
outcome=outcome,
|
outcome=outcome,
|
||||||
outs_recorded=0,
|
outs_recorded=0,
|
||||||
runs_scored=runs_scored,
|
runs_scored=runs_scored,
|
||||||
batter_result=3, # Batter goes to 3rd
|
batter_result=2, # Batter reaches 2B (it's a double)
|
||||||
runners_advanced=runners_advanced,
|
runners_advanced=runners_advanced,
|
||||||
description="Double to right-center gap (batter to 3rd)",
|
description="Double to right-center gap (runners advance 3 bases)",
|
||||||
ab_roll=ab_roll,
|
ab_roll=ab_roll,
|
||||||
is_hit=True
|
is_hit=True
|
||||||
)
|
)
|
||||||
@ -1040,7 +1040,7 @@ class PlayResolver:
|
|||||||
batter_reaches = 2
|
batter_reaches = 2
|
||||||
elif hit_type == 'DO3':
|
elif hit_type == 'DO3':
|
||||||
base_advances = self._advance_on_double_3(state)
|
base_advances = self._advance_on_double_3(state)
|
||||||
batter_reaches = 3
|
batter_reaches = 2 # DO = double (batter to 2B), 3 = runners advance 3 bases
|
||||||
elif hit_type == 'TR3':
|
elif hit_type == 'TR3':
|
||||||
base_advances = self._advance_on_triple(state)
|
base_advances = self._advance_on_triple(state)
|
||||||
batter_reaches = 3
|
batter_reaches = 3
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user