I’ve always wondered how many perfect brackets there have been: 1 beats 8, 2 beats 7, 3 beats 6, 4 beats 5, etc with them all going 2-0. Thus no blue alliance wins. I honestly don’t know how to do this with thebluealliance api, and the only one I know of is 2017 Michigan Howell.
There have been exactly 0 in the history of NE First (since it became a district I mean)
Never mind I didn’t read the question all the way, I don’t know of any where the higher alliance won 2-0 each time.
Take a look at the /event/{event_key}/alliances endpoint.
Cough, cough, many 2015 events, cough, cough
I was bored and so whipped up some code, and here’s the list from years 2017-2019. It’s intriguing to me that 2018 had so many:
List of events
2017mihow
2017onto1
2018bc
2018crc
2018inmis
2018mesh
2018nysu
2018onosh
2018vabla
2018wvrox
2019gacol
2019onham
Here’s my code (not sure how to attach it properly formatted, but I’m having a go at it), it’s hopefully documented enough so even non-python folks can kinda follow along, though to execute it yourself, you gotta get an API key
Code
import tbapy
#Sets up the API, get your own auth key from TBA
tba = tbapy.TBA("seeeeeecret")
def check_chalk(event):
#First we want to collect the list of matches from the API
matches = tba.event_matches(event, keys=True)
#Then find just the elims matches
try:
f_and_qf = matches[:matches.index(event + "_qm1")]
sf = matches[matches.index(event + "_sf1m1"):]
# For events that haven't been played, we don't want to break it with an empty match list
except ValueError:
#print(event + " has not been played")
return False
elims = f_and_qf + sf
#A perfect elims round has only 14 matches, 8 qf, 4 sf, 2 f
#If it has more, we know it wasn't chalk
if len(elims) != 14:
return False
all_red_wins = True
for match in elims:
#Pretty self-explanatory, checks if all matches won by red alliance
if tba.match(match)['winning_alliance'] != "red":
all_red_wins = False
return all_red_wins
year_list = ['2017', '2018', '2019']
for year in year_list:
#Pulls all events from the year from TBA, including weird ones but whatever
event_list = tba.events(year, keys=True)
for event in event_list:
#Every Event's Result
#print(event, check_chalk(event))
#Just the chalk ones
if check_chalk(event):
print(event)
2018 probably because of scale autos in high seeds just bulldozing opponents.
Thank you very much, I’ve always had trouble with the API
I dont know if you count semi finals and finals as well, but in Israel 2014 the QF ended just like you described: https://www.thebluealliance.com/event/2014ista
I like to see the entire competition, but thanks for that
What I’d consider in terms of 2015, would be moving onto the semis is 1,2,3,4 moving onto the finals 1,2 and 1 winning the finals all of those in order
I would put 2016 Curie in there, but it’s 3 matches short.
However, the caveat: That’s the one and only perfect reverse bracket (lower seed beats higher seed) to take place in FRC. The higher seed won exactly 3 matches–2 QFX-1, 1 SFX-1–as the #8 seed took the division.
Wow, that was the last Howell event ever held.
Don’t let events have perfect brackets or they might die.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.