Class DraftSimulator
java.lang.Object
org.episteme.social.sports.DraftSimulator
Simulates sports drafts and recruitment processes.
Includes serpentine draft logic and lottery-weighted selection order.
- Since:
- 1.0
- Version:
- 1.1
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordDetails of a specific draft pick.static final recordData model for a draft prospect. -
Method Summary
Modifier and TypeMethodDescriptionstatic RealcalculatePickValue(int pickNumber, int totalPicks) Calculates the estimated trade value of a specific pick.static booleanisFairTrade(List<Integer> teamAPicks, List<Integer> teamBPicks, int totalPicks, double maxImbalance) Evaluates if a trade proposal between two teams is fair.simulateLotteryOrder(Map<String, Integer> teamStandings, int lotteryPicks) Simulates a weighted lottery to determine draft order.static List<DraftSimulator.DraftPick> simulateSerpentineDraft(List<String> teamOrder, List<DraftSimulator.Prospect> prospects, int rounds) Simulates a serpentine draft over a specified number of rounds.
-
Method Details
-
simulateSerpentineDraft
public static List<DraftSimulator.DraftPick> simulateSerpentineDraft(List<String> teamOrder, List<DraftSimulator.Prospect> prospects, int rounds) Simulates a serpentine draft over a specified number of rounds.- Parameters:
teamOrder- initial team selection orderprospects- available playersrounds- total rounds to simulate- Returns:
- the sequence of draft picks
-
simulateLotteryOrder
public static List<String> simulateLotteryOrder(Map<String, Integer> teamStandings, int lotteryPicks) Simulates a weighted lottery to determine draft order.- Parameters:
teamStandings- mapping of teams to their standings (1 = best)lotteryPicks- number of picks determined by lottery- Returns:
- the resulting selection order
-
calculatePickValue
Calculates the estimated trade value of a specific pick. -
isFairTrade
-