Tournament ladders
There was a time in my life when I was practicing Kyokushin Karate. The motivation came from my daughters, both involved in Kyokushin since first class of primary school. Involvement in this community was not limited to trainings, the Club sometimes organized entertainment events and, of course, tournaments.
Tournament organization is not an easy task – sometimes hundreds of fighters want to attend, there is a lot of last-moment changes, wrongly entered data (age, weight, even sex). Most of these changes cause reshuffling of the so called ladders, showing who is fighting with whom and in which order.
The ladders are not constructed randomly, there are some rules governing this process, for example if there are any prize-winning competitors in the same fighting group, they should meet as late as possible. People from the same team should not fight if this can be avoided. And so on, and so forth.
I was asked to implement an application which could in creation of such ladders. At that time, the input was taken from CSV files, generated by a simple web-based form which was filled by fighters. The application allowed to define fighting categories, set the weight / age / proficiency limits and generated ladders in a form of multipage document which was saved as PDF file. I have implemented only a proof-of-concept, as you can see on the screenshots below, nothing graphically fancy, but with very well working internals.
The system was used in large tournament organized by Bushi Team. It was still in the testing phase, so naturally not everything went 100% well. Later, it was decided that the Club will just one of the commercially available systems with support and all bells and whistles. Therefore, I have abandoned the project. I am still thinking about coming back to it to offer it as Open Source, but so far I did not really have time to do this.





Screenshots from the ladders application (QT, C++)
Link to my former Kyokushin Club: http://bushiteam.pl/