Skip to content

Commit

Permalink
Merge pull request #33 from team4099/2025-setup
Browse files Browse the repository at this point in the history
2025 setup
  • Loading branch information
CodingMaster121 authored Mar 6, 2025
2 parents a77636f + 2ad4921 commit f598e9e
Show file tree
Hide file tree
Showing 14 changed files with 973 additions and 474 deletions.
33 changes: 33 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"name": "Python 3",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/python:1-3.11-bullseye",
"customizations": {
"codespaces": {
"openFiles": [
"README.md",
"src/Teams.py"
]
},
"vscode": {
"settings": {},
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance"
]
}
},
"updateContentCommand": "[ -f packages.txt ] && sudo apt update && sudo apt upgrade -y && sudo xargs apt install -y <packages.txt; [ -f requirements.txt ] && pip3 install --user -r requirements.txt; pip3 install --user streamlit; echo '✅ Packages installed and Requirements met'",
"postAttachCommand": {
"server": "streamlit run src/Teams.py --server.enableCORS false --server.enableXsrfProtection false"
},
"portsAttributes": {
"8501": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [
8501
]
}
334 changes: 290 additions & 44 deletions src/page_managers/event_manager.py

Large diffs are not rendered by default.

339 changes: 244 additions & 95 deletions src/page_managers/match_manager.py

Large diffs are not rendered by default.

29 changes: 8 additions & 21 deletions src/page_managers/picklist_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,40 +37,27 @@ def __init__(self):
self.calculated_stats.average_cycles,
mode=Queries.TELEOP
),
"Average Speaker Cycles": partial(
"Average Coral Cycles": partial(
self.calculated_stats.average_cycles_for_structure,
structure=(Queries.AUTO_SPEAKER, Queries.TELEOP_SPEAKER)
structure=(Queries.AUTO_CORAL_L1, Queries.AUTO_CORAL_L2, Queries.AUTO_CORAL_L3, Queries.AUTO_CORAL_L4,
Queries.TELEOP_CORAL_L1, Queries.TELEOP_CORAL_L2, Queries.TELEOP_CORAL_L3, Queries.TELEOP_CORAL_L4)
),
"Average Amp Cycles": partial(
"Average Algae Cycles": partial(
self.calculated_stats.average_cycles_for_structure,
structure=(Queries.AUTO_AMP, Queries.TELEOP_AMP)
),
"Average Feeding Cycles": self.calculated_stats.average_feeding_cycles_without_full_field,
"Avg. Adjusted Teleop Cycles (w/ Feeding)": (
lambda team: self.calculated_stats.average_cycles(team, Queries.TELEOP) + self.calculated_stats.average_feeding_cycles_without_full_field(team) / 2
),
"Average Trap Cycles": partial(
self.calculated_stats.average_cycles_for_structure,
structure=Queries.TELEOP_TRAP
structure=(Queries.AUTO_BARGE, Queries.AUTO_PROCESSOR,
Queries.TELEOP_BARGE, Queries.TELEOP_PROCESSOR)
),
"# of Times Climbed": partial(
self.calculated_stats.cumulative_stat,
stat=Queries.CLIMBED_CHAIN,
criteria=Criteria.BOOLEAN_CRITERIA
),
"# of Times Harmonized": partial(
self.calculated_stats.cumulative_stat,
stat=Queries.HARMONIZED_ON_CHAIN,
criteria=Criteria.BOOLEAN_CRITERIA
stat=Queries.CLIMBED_CAGE,
criteria=Criteria.CLIMBING_CRITERIA
),
"# of Disables": partial(
self.calculated_stats.cumulative_stat,
stat=Queries.DISABLE,
criteria=Criteria.BOOLEAN_CRITERIA
),
"Average Driver Rating": self.calculated_stats.average_driver_rating,
"Average Defense Skill": self.calculated_stats.average_defense_skill,
"Average Defense Time": self.calculated_stats.average_defense_time,
"Average Counter Defense Skill": self.calculated_stats.average_counter_defense_skill
}

Expand Down
4 changes: 2 additions & 2 deletions src/page_managers/ranking_simulator_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,10 +101,10 @@ def generate_simulated_rankings(self, to_match: int) -> None:
alliance = row["red_alliance"] if team in row["red_alliance"] else row["blue_alliance"]
opposing_alliance = row["blue_alliance"] if team in row["red_alliance"] else row["red_alliance"]

chance_of_coop, chance_of_melody, chance_of_ensemble = self.calculated_stats.chance_of_bonuses(alliance)
chance_of_coop, chance_of_auto, chance_of_coral, chance_of_barge = self.calculated_stats.chance_of_bonuses(alliance)
chance_of_winning, _, score, __ = self.calculated_stats.chance_of_winning(alliance, opposing_alliance)

total_rps = chance_of_melody + chance_of_ensemble + chance_of_winning * 2
total_rps = chance_of_auto + chance_of_coral + chance_of_barge + chance_of_winning * 3
simulated_rankings[team][0].append(total_rps)
simulated_rankings[team][1].append(chance_of_coop)
simulated_rankings[team][2].append(score)
Expand Down
Loading

0 comments on commit f598e9e

Please sign in to comment.