24 lines
1,009 B
TypeScript
24 lines
1,009 B
TypeScript
|
|
/**
|
|||
|
|
* 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 1–10. */
|
|||
|
|
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 1–26. */
|
|||
|
|
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,
|
|||
|
|
};
|