Skip to content

C++ library for generating round-robin tournament schedules using Qt 6. Implements edge coloring algorithm with modern C++17, comprehensive tests, and CMake build system.

License

Notifications You must be signed in to change notification settings

thomasbutzbach/SpielplanQtPort

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpielplanQtPort

A C++ library for generating tournament schedules using Qt 6. Based on the edge coloring algorithm for creating round-robin tournament schedules.

Features

  • Generate schedules for any even number of teams
  • Support for single or double round-robin tournaments
  • Efficient algorithm based on graph theory
  • Modern C++17 with Qt 6 integration

Building

Prerequisites

  • Qt 6.2 or later
  • CMake 3.16 or later
  • C++17 compatible compiler

Build Instructions

# Configure
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release

# Build
cmake --build build

# Run example
./build/spielplan_example

VSCode Integration

This project includes VSCode tasks for building and debugging:

  • Ctrl+Shift+P → "Tasks: Run Task" → "cmake-build"
  • F5 to debug the example application

Usage

#include "spielplan.h"

QList<int> teams = {1, 2, 3, 4, 5, 6};
auto schedule = Spielplan::getOrganizedMatchDaysFromTeamList(teams, false);

// Process schedule...

Algorithm

The schedule generation is based on the edge coloring algorithm from: http://www-i1.informatik.rwth-aachen.de/~algorithmus/algo36.php

License

BSD License - see original implementation by Andy Theiler

Original Credits

About

C++ library for generating round-robin tournament schedules using Qt 6. Implements edge coloring algorithm with modern C++17, comprehensive tests, and CMake build system.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published