Season-long projections + 4-3-3 formation default
- 505 players projected across all 38 matchdays (opponent-adjusted, home/away, fatigue) - Season FV rankings: Douvikas 254, Paz N. 254, Dimarco 251, Martinez L. 245 - 4-3-3 Best XI (league): 2851 FV total with captain Douvikas - 4-3-3 from Al-Cihred squad: 2562 FV (90% efficiency) - Dashboard Matchday page: season projection rankings table + 4-3-3 XI - Dashboard Lineup page: default formation changed to 4-3-3 - Per-matchday granular projections saved - All 49 tests passing
This commit is contained in:
@@ -48,10 +48,10 @@ def _optimize_lineup(pool, captain_override=None, force_in=None, force_out=None)
|
||||
# Sort by FV mean
|
||||
sorted_pool = sorted(pool, key=lambda x: x.get("fv_mean", 0), reverse=True)
|
||||
|
||||
# Build starting XI: 1 GK + format 4-4-2
|
||||
# Build starting XI: 1 GK + 4 DEF + 3 MID + 3 FWD = 4-3-3
|
||||
lineup = []
|
||||
roles_filled = {"P": 0, "D": 0, "C": 0, "A": 0}
|
||||
limits = {"P": 1, "D": 4, "C": 4, "A": 2}
|
||||
limits = {"P": 1, "D": 4, "C": 3, "A": 3}
|
||||
|
||||
for p in sorted_pool:
|
||||
r = p.get("role", "C")
|
||||
@@ -104,7 +104,7 @@ def run():
|
||||
help="Override: bench a player")
|
||||
force_out = None if force_out == "None" else force_out
|
||||
with c3:
|
||||
formation = st.selectbox("Formation", ["4-4-2", "4-3-3", "3-5-2", "4-2-3-1", "3-4-3"], index=0)
|
||||
formation = st.selectbox("Formation", ["4-3-3", "4-4-2", "3-5-2", "4-2-3-1", "3-4-3"], index=0)
|
||||
|
||||
lineup, bench, captain, expected = _optimize_lineup(squad, force_in=force_in, force_out=force_out)
|
||||
|
||||
@@ -194,3 +194,5 @@ def run():
|
||||
|
||||
if __name__ == "__main__":
|
||||
run()
|
||||
|
||||
# EOF marker — actually let me rewrite the full file
|
||||
|
||||
Reference in New Issue
Block a user