brackt/app/services/simulations/race-points.ts

24 lines
1,009 B
TypeScript
Raw Permalink Normal View History

/**
* Championship points tables for auto racing series.
*
* Stable series rules, not refreshable season data, so they live in code (see
* the hardcoding rules in docs/agents/simulators.md). Kept out of `registry.ts`
* so tests and callers can read a table without pulling in every simulator
* importing the registry first also trips the manifest/registry import cycle.
*
* Each table must be contiguous from P1 and monotonically decreasing: the
* simulator's award loop stops at the first unscored position.
*/
/** F1 points: positions 110. */
export const F1_RACE_POINTS: Record<number, number> = {
1: 25, 2: 18, 3: 15, 4: 12, 5: 10, 6: 8, 7: 6, 8: 4, 9: 2, 10: 1,
};
/** IndyCar standard race points: positions 126. */
export const INDYCAR_RACE_POINTS: Record<number, number> = {
1: 50, 2: 40, 3: 35, 4: 32, 5: 30, 6: 28, 7: 26, 8: 24, 9: 22, 10: 20,
11: 19, 12: 18, 13: 17, 14: 16, 15: 15, 16: 14, 17: 13, 18: 12, 19: 11, 20: 10,
21: 9, 22: 8, 23: 7, 24: 6, 25: 5, 26: 5,
};