Class DraftSimulator

java.lang.Object
org.episteme.social.sports.DraftSimulator

public final class DraftSimulator extends Object
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)
  • 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 order
      prospects - available players
      rounds - 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

      public static Real calculatePickValue(int pickNumber, int totalPicks)
      Calculates the estimated trade value of a specific pick.
    • isFairTrade

      public static boolean isFairTrade(List<Integer> teamAPicks, List<Integer> teamBPicks, int totalPicks, double maxImbalance)
      Evaluates if a trade proposal between two teams is fair.