Muckturnier: readme

Autor:Tobias Leupold
Homepage:http://muckturnier.org/
Kontakt:tobias . leupold at gmx . de
Datum:23.06.2018

Inhaltsverzeichnis

1   Beschreibung des Programms

1.1   Was ist Muckturnier?

Muckturnier ist ein Programm, mit dem man ein Muckturnier auswerten kann.

Es werden verschiedene Turniertypen unterstützt: Es können sowohl feste Paare als auch einzelne Spieler angemeldet werden. Die Paare, die gegeneinander antreten, können in jeder Runde ausgelost, oder nach einem festen Schema für den Turnierablauf zugeordnet werden.

Die Anzahl der Runden, Bobbl pro Runde und Punkte pro Bobbl können frei gewählt werden.

1.2   Begriffsdefinitionen

Um Unklarheiten zu beseitigen vorab ein paar Definitionen:

Runde
Eine Runde ist ein Turnierabschnitt, der aus mehreren (üblicherweise zwei) Bobbeln besteht. I. d. R. wird vor dem Turnierbeginn die zu spielende Anzahl an Runden festgelegt.
Bobbl
Der Bobbl hat zwei Bedeutungen: Zum einen steht er für einen Turnierabschnitt, der aus mehreren Spielen besteht. Den Bobbl hat das Team gewonnen, welches zuerst eine definierte Punktezahl (i. d. R. 21) erreicht. Diese wird normalerweise nicht mehr aufgeschrieben (es zählt das Gewinnen des Bobbls).
Der Verlierer bekommt den Bobbl (das ist die andere Bedeutung), einen dicken Punkt, der hinter den letzten Punktestand der Verlierer gemalt wird.
Brille
Wird ein Bobbl zu Null gewonnen, wird oftmals zur Verdeutlichung ein doppelter Bobbl beim Verlierer gemalt, der mittels Steg und Bügeln zur Brille ausgestaltet wird. Üblicherweise zählt eine Brille bei einem Muckturnier wie ein normaler Bobbl.
Spiel
Ein Spiel wird angesagt („Wenz“, „Schneidermuck“ etc.) und besteht, wenn mit dem üblichen kurzen Blatt gespielt wird, aus sechs Stichen. Es muss eine definierte Anzahl an Punkten (jede Karte hat einen definierten Punktwert) erreicht werden, um das Spiel zu gewinnen.
Aufgeschrieben werden nicht die durch die Stiche erreichten Punkte, sondern ein für das Spiel definierter Punktwert, der für gewöhnlich die Art und Weise der Ansage (Schneider oder Schwarz angesagt) und den Ausgang des Spiels (Schneider oder Schwarz gewonnen) berücksichtigt.
Geschossene Tore
Die geschossenen Tore bezeichnen die Punkte, die das jeweilige Team in seinen verlorenen Bobbeln erreicht hat. Diese Punkte werden bei der Auswertung berücksichtigt: Wenn mehrere Teams gleich viele Bobbl gewonnen haben, wird nach geschossenen Toren sortiert (je mehr, desto besser).
Gegnerische geschossene Tore
Die gegnerischen geschossenen Tore bezeichnen die Punkte, die die Gegner in den gewonnenen Bobbeln des jeweiligen Teams erreicht haben. Bei einem Gleichstand der gewonnenen Bobbl und der geschossenen Tore können die gegnerischen geschossenen Tore als „dritte Ebene“ zum Erstellen der Rangliste herangezogen werden (je weniger, desto besser).

1.3   Regeln für das Turnier

1.3.1   Grundsätzliche Regeln

Die genauen Regeln („Wenz über Muck“, doppelt nach Einwerfen oder nicht, mit oder ohne Geier etc.) sind für die Auswertung nicht von Belang, solang Bobbl gespielt werden. Das Turnier in mehrere Runden mit einer definierten Anzahl Bobbeln einzuteilen ist üblich, aber nicht zwingend nötig: Es kann auch nur eine Runde (dann also das ganze Turnier) mit entsprechend vielen Bobbeln gespielt werden.

1.3.2   Punktwertung

Die Punktwertung ist unabhängig vom Turniertyp:

  • Gespielt wird pro Runde eine definierte Anzahl Bobbl.
  • Jeder Bobbl wird bis zu einer definierten Zahl von Punkten gespielt. Gewonnen hat das Paar, das zuerst die nötige Punktezahl erreicht oder überschreitet, wobei der gewonnene Bobbl immer nur mit der für den Bobbl definierten Punktezahl gewertet wird – auch dann, wenn durch das letzte Spiel eigentlich mehr Punkte erreicht worden wären (das ist in jedem Fall mindestens ein Punkt mehr, als das gegnerische Team an Punkten, also geschossenen Toren erreicht haben kann).
  • Das Verliererpaar bekommt den Bobbl.
  • „Brillen“ (doppelte Bobbl, wenn ein Bobbl zu Null gewonnen wird) werden nicht doppelt, sondern wie ein normaler Bobbl gewertet.
  • Die Rangliste wird nach gewonnenen Bobbeln aufgestellt. Bei gleich vielen gewonnenen Bobbeln entscheiden die in den verlorenen Bobbeln erreichten Punkte („geschossene Tore“, je mehr desto besser) über die Platzierung.
    Optional kann bei Bobbl- und Toregleichstand auch noch nach den „gegenerischen geschossenen Toren“ (den Punkten, die die Gegener in den gewonnenen Bobblen des jeweiligen Teams erreicht haben) unterschieden werden (je weniger, desto besser).

1.3.3   Auslosung und Turniermodus

Es kann sowohl ein Turnier mit festen Paaren als auch mit einzelnen Spielern ausgewertet werden. Für einzelne Spieler wird in jeder Runde ausgelost, wer mit wem gegen wen an welchem Tisch spielt. Bei festen Paaren können die jeweils gegeneinander antretenden Paare entweder ebenfalls pro Runde ausgelost werden, oder es kann nach folgendem Schema vorgegangen werden:

Am Anfang des Turniers wird für jedes Paar ein Start-Tisch für die erste Runde und die Rolle „Paar 1“ oder „Paar 2“ ausgelost. Paar 1 bleibt das ganze Turnier lang am ausgelosten Tisch sitzen, Paar 2 rückt nach jeder Runde einen Tisch weiter. Erreicht ein Paar den letzten Tisch, wechselt es nach der entsprechenden Runde an den Tisch Nr. 1.

In diesem Fall ist eine automatische Auswahl der passenden Paare bei der Eingabe der Tischnummer bzw. das Auswählen des gegnerischen Paars und der Tischnummer beim Auswählen eines der beiden Paare möglich (vgl. Feste Paare).

1.4   Gibt es Beschränkungen?

Das Programm enthält keine gewollten Beschränkungen. Im Realeinsatz ist Muckturnier auch noch nie an irgendwelche Grenzen gestoßen.

Die Punkte pro Bobbl und die Anzahl der Bobbl pro Runde sind (aus Gründen der Optik des GUI) auf maximal 999 eingestellt. Sollte tatsächlich jemand mehr brauchen, kann diese Einstellung in der Datei DefaultValues.h (die alle hart kodierten Werte enthält) beliebig verändert werden. Natürlich muss man Muckturnier danach neu kompilieren.

Nur der Vollständigkeit halber: Faktisch begrenzen abgesehen davon tatsächlich die Datentypen die maximale Anzahl der Paare bzw. Spieler, Bobbl, Punkte und Runden. Mit einem 32-Bit-Build sind z. B. theoretisch maximal jeweils 2 147 483 648 möglich.

2   Benutzung von Muckturnier

2.1   Generelles zur Benutzung

2.1.1   Oberfläche und Dialoge

Ist noch kein Turnier geöffnet, werden nur die Knöpfe zum Anlegen bzw. Öffnen eines Turniers angezeigt (alternativ kann man das auch über „Datei“ → „Neues Turnier starten“ bzw. „Turnier öffnen“ machen). Sobald ein Turnier geöffnet ist bzw. ein neues angelegt wurde, wird die „Paare“- bzw. „Spieler“-Seite angezeigt. Wenn die nötige Anzahl an Paaren bzw. Spielern angemeldet wurde, wird die „Ergebnisse“-Seite, und nach der Eingabe des ersten Ergebnisses schließlich die „Rangliste“-Seite angezeigt.

Standardmäßig werden die Seiten als Tabs (also hintereinander) angezeigt. Sie können aber auch (durch Ziehen mit der Maus) neben- oder übereinander angezeigt werden, sofern das Fenster groß genug ist. Weiterhin können alle Seiten aus dem Hauptfenster herausgezogen, und dann als eigene Fenster angezeigt werden. Das ist z. B. nützlich, wenn man die Rangliste live über einen Beamer (etwa auf einem virtuellen zweiten Desktop) anzeigen will o. Ä.

2.1.2   Speichern

Mit jeder Dateneingabe oder -änderung wird die Datenbank aktualisiert. Man muss also den jeweils aktuellen Zustand der Datenbank nicht extra speichern.

Jeder Schreibvorgang ist „atomar“, d. h., dass ein Datensatz entweder vollständig oder gar nicht gespeichert wird. Es sollte also auch bei einem Stromausfall (Netzteilstecker wird versehentlich aus dem Notebook gezogen, Akku leer) nicht zu Inkonsistenzen in der Datenbank kommen.

Trotzdem ist natürlich jeder selbst für seine Datensicherung verantwortlich!

2.2   Neues Turnier starten

Durch Klicken auf den großen Splash-Screen-Button links oder „Datei“ → „Neues Turnier starten“ kann eine neue Turnierdatenbank angelegt werden.

2.2.1   Turniereinstellungen

Es kann zwischen den Varianten „Feste Paare“ und „Einzelne Spieler“ gewählt werden (vgl. hierzu auch Auslosung und Turniermodus). Weiterhin können die Anzahl der Punkte pro Bobbl und die zu spielenden Bobbl pro Runde eingestellt werden.

Die Voreinstellung ist ein Turnier mit festen Paaren, 21 Punkten pro Bobbl und zwei Bobbln pro Runde.

Nach einem Klick auf „Turnier starten“ muss ein Dateiname für die neue Turnierdatenbank ausgewählt werden.

2.2.2   Turnierinformationen

Über „Datei“ → „Turnierinformationen“ wird für das laufende (offene) Turnier die gewählte Konfiguration angezeigt.

2.2.3   Prüfsummen

Besonders interessant ist der letzte Punkt „Prüfsummen“ im „Turnierinformationen“-Dialog: Sobald mindestens ein Paar bzw. Spieler eingetragen ist, wird hier eine Prüfsumme für die Paar-/Spielerliste angezeigt. Sobald mindestens ein Ergebnis eingetragen wurde, wird zusätzlich eine Prüfsumme für die Rangliste angezeigt.

Die Idee dahinter ist folgende: Bei großen Turnieren ist es zweckmäßig, die Ergebnisse nicht nur an einem, sondern an zwei oder mehr Computern gleichzeitig und unabhängig voneinander einzugeben, damit man Eingabefehler finden kann (ein Eingabefehler muss vorliegen, wenn die Ranglisten nicht identisch sind).

Mit Hilfe der Prüfsummen kann man „auf einen Blick“ sehen, ob alles identisch eingegeben wurde: Stimmen die Prüfsummen überein, dann sind auch die Paar-/Spielerlisten bzw. die Ranglisten identisch. Die Reihenfolge der Eingabe und etwaige Markierungen von Teilnehmern spielen keine Rolle.

Wichtig ist, dass die Prüfsummen für die Teilnehmerlisten identisch sind, da die Namen der Teilnehmer auch Teil des Datensatzes sind, mit dem die Prüfsumme für die Rangliste berechnet wird. Weicht nur ein Buchstabe in einem Namen oder ein Spielstand um einen Punkt ab, erhält man vollkommen unterschiedliche Prüfsummen.

Beispiel: Für eine Paarliste mit den Paaren „Karl / Fritz“ und „Heinz / Günther“ wird die Prüfsumme b54f ecc6 9a4a 7bd6 2811 64da 479a cd95 berechnet. Ändert man nur einen Buchstaben und benennt „Heinz / Günther“ zu „Heinz / Gunther“ um, dann erhält man eine ganz andere Prüfsumme, nämlich 0213 3fcc 74db f14d 3f17 7f33 48ac 1f0f.

2.3   Paare bzw. Spieler anmelden

Hier können die Paare bzw. Spieler gespeichert werden. Es wird jeweils ein Name vergeben. Bei einzelnen Spielern sollte dies sinnvollerweise einfach der Name des Spielers sein, bei Paaren die Namen der Paarmitglieder. Übersichtlich ist z. B. „Nachname Vorname / Nachname Vorname“. Das erleichtert die Suche, wenn später auf einem Spielstandzettel z. B. nur noch „Vorname / Vorname“ steht. Der Name kann frei gewählt werden.

Ändern kann man einen Paar- oder Spielernamen jederzeit (auch, wenn bereits Spielstände eingegeben wurden), indem man ihn in der Liste doppelt anklickt (alternativ auch per Rechtsklick über das Kontextmenü). Gespeichert wird die Änderung durch das Drücken der Return- bzw. Enter-Taste.

Wenn mit dem Turnier noch nicht begonnen wurde (also noch keine Spielergebnisse gespeichert wurden), können Paare oder Spieler gelöscht werden. Hierzu einfach das Paar oder den Spieler mit der rechten Maustaste anklicken und im Kontextmenü „[Paar|Spieler] löschen“ auswählen. Liegen bereits Spielergebnisse vor, ist nur noch das Ändern des Paar- bzw. Spielernamens möglich.

2.3.1   Paare bzw. Spieler markieren

Über das Kontextmenü können einzelne Paare/Spieler oder die ganze Liste markiert werden.

Es gibt zwei Arten von Markierungen: Die eine bewirkt, dass der Paar- bzw. Spielername am Anfang der Liste angezeigt wird (alle so markierten Namen werden innerhalb des Blocks alphabetisch sortiert). Die andere belässt den Namen an der eigentlichen Listenposition. Alle markieren Paare bzw. Spieler werden rot angezeigt.

Markierungen sind z. B. sinnvoll, wenn man vorangemeldete Spieler als noch nicht erschienen kennzeichnen will, Paare/Spieler, die das Startgeld noch nicht bezahlt haben etc.

Per Kontextmenü können alle markerten bzw. unmarkierten Paare/Spieler auf einmal gelöscht werden (z. B. alle, die zwar vorangemeldet, aber zum Turnierstart nicht da waren), resp. die ganze Liste (was identisch mit dem Menüpunkt „Datenbank zurücksetzen“ ist).

2.3.2   Präfixe

Sollten die Markierungen allein noch nicht ausreichen, kann man einen Paar- bzw. Spielernamen noch zusätzlich mit einem Präfix (z. B. einem Stern „*“ oder einer Tilde „~“) versehen, also z. B. „~ Spieler 1 / Spieler 2“. Das bewirkt dann, dass alle solche Spieler untereinander sortiert angezeigt werden. Wird der Präfix nicht mehr gebracht, kann der Paar- bzw. Spielername einfach editiert, und der Präfix gelöscht werden.

2.4   Spielergebnisse eintragen

2.4.1   Rundenauswahl

Zunächst wird die Runde ausgewählt, für die das Ergebnis eingetragen werden soll. Wenn eine Runde offen ist (also noch nicht alle Ergebnisse der entsprechenden Runde eingetragen wurden), dann wird automatisch diese Runde geöffnet (bzw. die erste offene Runde, falls mehrere Runden offen sind). Wird das Kästchen neben der Rundenauswahl angehakt, wird die Runde als abgebrochen markiert, vgl. Zeitbegrenzung.

Alle bisher abgeschlossenen Runden sowie alle offenen Runden können über die Rundenauswahl angezeigt bzw. bearbeitet werden.

2.4.2   Paar- bzw. Spielerauswahl

Der Eingabedialog sieht die Eingabe von Runde, Tischnummer und zwei Paaren bzw. vier Spielern vor. Sollte ohne Tischnummern gespielt werden, können diese auch ausgeblendet werden. In diesem Fall werden sie automatisch intern gesetzt (für die Datenbank muss immer eine Tischnummer ausgewählt werden, auch dann, wenn sie nicht angezeigt wird) und die automatische Paarauswahl im „Feste Paare“-Modus steht nicht zur Verfügung.

Die Paar- bzw. Spielerauswahl variiert je nach Turniertyp:

2.4.2.1   Feste Paare

Es können zwei Paare ausgewählt werden.

Rechts kann „Tischnummer und Paare automatisch auswählen“ angehakt werden. Für die automatische Auswahl muss klar sein, wie ausgelost wurde. Das ergibt sich aus den eingegebenen Spielergebnissen. Es wird immer die Runde vor der gewählten Runde als Berechnungsgrundlage verwendet. In der ersten Runde steht folglich noch keine automatische Auswahl zur Verfügung. Ist die Option gesetzt, dann werden nach der Auswahl eines Parameters („Tisch“, „Paar 1“ oder „Paar 2“) die jeweils anderen passend ergänzt (bzw. eine Warnung angezeigt, wenn z. B. als „Paar 1“ ein Paar ausgewählt wird, das laut Auslosung ein „Paar 2“ ist).

Als komfortabel hat sich die Auswahl über die Tischnummer erwiesen. Man sollte also auf den Spielzetteln neben der jeweiligen Runde und den Paarnamen auch die Tischnummer notieren lassen.

Die automatische Auswahl klappt natürlich nur dann, wenn die Paare, die die Tische wechseln („Paar 2“), sich regelkonform umsetzen, die anderen sitzen bleiben, und die Ergebnisse richtig eingetragen wurden. Gewissermaßen dient das automatische Auswählen also auch als Kontrolle für die Turnierleitung.

Wird „Tischnummer und Paare automatisch auswählen“ nicht gesetzt, dann wird davon ausgegangen, dass die Paare und Tische in jeder Runde ausgelost werden. In diesem Fall findet – abgesehen davon, dass zwei verschiedene Paare ausgewählt werden müssen – keine Überprüfung der Auswahl statt.

2.4.2.2   Einzelne Spieler

Es können je zwei Spieler pro Paar, also insgesamt vier Spieler ausgewählt werden. Außerdem wird eine Tischnummer gewählt. Bei diesem Turniertyp ist ohnehin davon auszugehen, dass in jeder Runde neu ausgelost wird, so dass hier keine automatische Auswahl angeboten wird.

2.4.3   Eintragen der Ergebnisse

Unter der Paarauswahl gibt es für jeden Bobbl ein Eingabefeld. Oben steht Paar 1 und unten Paar 2 (entsprechend der gängigen Spielzettel – ein Beispiel-Spielstandzettel ist auf der Muckturnier-Homepage zu finden). Das ausgewählte Paar bekommt den Bobbl (hat ihn also verloren; hier den Radio-Knopf anklicken) und es können die erreichten Punkte („geschossene Tore“) eingegeben werden. Das andere Paar bekommt automatisch die festgelegten Bobbl-Punkte, hier wird das Eingabefeld deaktiviert (außer, wenn der Bobbl abgebrochen wurde, vgl. Zeitbegrenzung).

Ein Rechts- oder Doppelklick auf einen der beiden Radio-Knöpfe öffnet einen kleinen Eingabedialog, mittels welchem der Spielstand direkt durch einen Klick ausgewählt werden kann, ohne das Mausrad oder die Tastatur verwenden zu müssen.

Der Spielstand kann entweder mit dem „Ergebnis eintragen“-Knopf gespeichert werden, oder indem man in einem der beiden Eingabefelder im letzten Spiel die Return- bzw. Enter-Taste drückt.

2.4.3.1   Zeitbegrenzung

Wenn eine Zeitbegrenzung pro Runde vereinbart ist, kann eine Runde auch abgebrochen werden. Hierzu muss das entsprechende Kästchen neben der Rundenauswahl aktiviert werden. Danach wird pro Bobbl ein zusätzliches Kästchen neben der Bobblauswahl angezeigt. Wenn dieses aktiviert wird, ist der jeweilige Bobbl als abgebrochen markiert. In diesem Fall können zwei Spielstände eingegeben werden, die jeweils als „geschossene Tore“ zählen. Auswertungstechnisch hat in diesem Fall hat keiner den Bobbl gewonnen, bzw. beide Paare haben ihn verloren.

Wer mit Zeitbegrenzung spielt, will evtl. die über „Extras“ anzeigbare Stoppuhr verwenden. Diese ist ein Countdown-Timer. Wenn die Zeit abgelaufen ist, wird sie wieder hochgezählt, und die Zeitanzeige wechselt die Farbe von schwarz nach rot.

2.4.4   Eingetragene Ergebnisse

Unten werden alle bisher eingetragenen Spielergebnisse angezeigt. Per Kontextmenü (mit der rechten Maustaste oder mit einem Doppelklick einen Spielstand anklicken) kann man einen Spielstand löschen oder korrigieren.

Beim Korrigieren wird der Spielstand auch gelöscht, aber die eingegebenen Daten werden als ausgewählte Werte gesetzt. So kann man z. B. einen falsch eingegebenen Punktestand schnell korrigieren, ohne die anderen Werte erneut eingeben zu müssen und den Tisch bzw. die Paare neu auszuwählen.

2.5   Rangliste

Sobald das erste Ergebnis eingetragen wurde, ist die momentane Rangliste verfügbar. Wenn es sich um ein Zwischenergebnis handelt, also von einer oder mehreren Runden noch Spielergebnisse fehlen, wird dies entsprechend vermerkt.

Es kann mit der entsprechenden Checkbox eingestellt werden, ob die Rangliste – zusätzlich zu den gewonnenen Bobbeln und den geschossenen Toren – auch nach den geschossenen Toren der Gegner in den gewonnenen Bobbeln erstellt wird (vgl. auch Regeln für das Turnier).

Standardmäßig wird die Rangliste für den aktuellen Turnierstand angezeigt. Es können aber auch Verlaufs-Ranglisten für frühere Runden erstellt werden, hierzu einfach die entsprechende Runde auswählen.

2.6   Export und Import von Turnierdaten

2.6.1   Import einer Paar- bzw. Spielerliste

Wenn das Turnier noch nicht begonnen hat (also noch kein Spielstand eingegeben wurde), kann eine Paar- bzw. Spielerliste importiert werden. Der zugehörige Menüpunkt ist „Extras“ → „[Paar|Spieler]liste importieren“. Hierfür kann eine einfache, UTF-8-kodierte Textdatei (wie sie auch von der Exportfunktion erzeugt wird) verwendet werden, die pro Zeile einen Paar- bzw. Spielernamen enthält.

Wird eine Datei geöffnet, die Zeichen außerhalb der ASCII-Kodierung enthält (Umlaute, Akzente, etc.), und mit der falschen Kodierung gespeichert wurde (z. B. Windows-1252, ISO 8859-1, ISO 8859-15 etc.), dann wird der Import abgebrochen. Ansonsten würde Zeichenmüll in die Datenbank geschrieben, der dann von Hand korrigiert werden müsste (oder es würde evtl. versehentlich eine Binärdatei importiert).
Jeder vernünftige Editor (unter Linux was auch immer man nehmen will, unter Windows z. B. notepad++) kann eine solche Datei mit der „falschen“ Kodierung öffnen, und mit der „richtigen“ speichern, so dass sie trotzdem importiert werden kann.

Vorhandene Paar- bzw. Spielernamen werden nicht überschrieben. Auch doppelt genannte Namen in der importierten Datei werden eindeutig gespeichert. Hierzu wird bei Kollisionen eine fortlaufende Nummer in Klammern an den jeweiligen bereits vorhandenen Namen angehängt. Es gehen also in keinem Fall die bereits eingegeben Paare bzw. Spieler verloren.

2.6.2   Export der Paar- bzw. Spielerliste

Sobald mindestens ein Paar bzw. Spieler angemeldet wurde, kann eine Liste der Paare bzw. Spieler exportiert werden (um z. B. eine Liste zum Abhaken aus einer bereits mit Voranmeldungen gefüllten Datenbank erstellen zu können).

Der zugehörige Menüpunkt ist „Extras“ → „[Paar|Spieler]liste exportieren“. Die Liste wird als einfache Textdatei exportiert und ist UTF-8-kodiert. Man kann dieses Format mit einem beliebigen Texteditor oder Textverarbeitungsprogramm öffnen und weiterverarbeiten.

2.6.3   Export von Turnierdaten nach Abschluss des Turniers

Sind alle Runden abgeschlossen (das Turnier also potenziell beendet), können via „Extras“ → „Turnierdaten exportieren“ (alle) Daten des Turniers in ein von Muckturnier und der Datenbank unabhängiges Format exportiert werden.

Man kann auswählen, welche Datensätze exportiert werden, und wie diese formatiert sein sollen (sollen z. B. Überschriften angezeigt werden, die Ergebnisse als einfache Zahl oder mit dem Bobbl-Symbol ausgegeben werden etc.).

Die Daten können als HTML oder CSV exportiert werden. Als Zeichensatz kommt jeweils UTF-8 zum Einsatz.

2.6.3.1   Export als HTML

Es wird eine als HTML5 formatierte, UTF-8-kodierte Datei ausgegeben. Das Ergebnis kann programm- und plattformunabhängig mit einem Webbrowser angezeigt werden.

Wenn alle verfügbaren Daten exportiert werden, dann eignet sich dieses Format vor allem für das Archivieren von Turnierergebnissen. So können alle relevanten Daten eines Turniers in eine formatierte, auf absehbare Zeit für Menschen lesbare Form gebracht, und auch später noch eingesehen bzw. ausgedruckt werden.

2.6.3.2   Export als CSV

Es wird eine UTF-8-kodierte Datei ausgegeben, die als Trennzeichen Tabulatoren enthält. Diese kann z. B. mit einem Tabellenkalkulationsprogramm weiterverarbeitet werden, um etwa Urkunden o. ä. zu erzeugen.

2.7   Die Turnierdatenbank zurücksetzen

Über „Extras“ → „Datenbank zurücksetzen“ können alle eingegebenen Daten (Spieler und Ergebnisse) gelöscht werden. Das ist an sich nur für Testanwendungen, Debugging und Entwicklung gedacht.

Sollen auch die Einstellungen geändert werden (Punkte pro Bobbl, Bobbl pro Runde oder Turniermodus), dann kann einfach die bestehende Datenbank mit einer neuen überschrieben werden.

3   Übersetzen aus den Quelltexten

3.1   Kompilieren von Muckturnier

Muckturnier ist in C++ geschrieben (es wird der C++11-Standard genutzt) und linkt gegen Qt (ab Version 5.4). Es wird das QtSql-Modul für SQLite 3 und das SVG-Modul benötigt.

Als Buildsystem kommt CMake (ab Version 3.2) zum Einsatz.

Optional wird diese Dokumentation von reStructuredText in eine HTML-Datei konvertiert. Hierzu wird rst2html aus den Docutils benutzt. Ist das nicht gewünscht oder möglich, dann kann das Übersetzen mittels des Schalters DOCUMENTATION ausgesetzt werden (cmake -DDOCUMENTATION=OFF .. statt cmake ..).

3.1.1   Normaler Build (dynamisch gelinkt)

Sind alle Abhängigkeiten installiert, dann ist das Übersetzen des Programms aus den Quelltexten ziemlich einfach. Beispielsweise muss man unter Linux im Quellcode-Ordner nur folgende Befehle ausführen:

mkdir build
cd build
cmake ..
make

Unter anderen Betriebssystemen heißen die Befehle evtl. anders. Unter Windows muss man z. B., sofern man mit MinGW kompiliert, folgende Befehle ausführen:

mkdir build
cd build
cmake -G "MinGW Makefiles"
mingw32-make

3.1.2   Statisch gelinkte Windows-Version

Die von mir für das statisch gelinkte Windows-Build verwendeten Scripts und Projektdateien sind unter res/windows_build zu finden.

Hier kommt qmake statt CMake zum Einsatz, da CMake momentan unter Windows kein statisch gelinktes Qt-Projekt bauen kann – und/oder ich zumindest nicht weiß, wie es gehen würde … wer weiß, wie es (mittlerweile) geht, der möge mich bitte erleuchten.

3.2   Installation

Muckturnier kann (auf Linux und Windows mit standardmäßig vernünftig definierten Zielverzeichnissen) mittels

make install

systemweit installiert werden. Unter Linux wird dann (wenn man nichts verändert) innerhalb des /usr-Verzeichnisbaums installiert (die ausführbare Datei nach /usr/bin, die Readme-Datei nach /usr/share/doc/muckturnier etc.), unter Windows nach C:\Programme\muckturnier (bzw. dem jeweiligen Standardpfad für Programme).

Die Zielverzeichnis-Hierarchie kann man mittels des cmake-Schalters CMAKE_INSTALL_PREFIX anpassen, z. B. mit cmake -DCMAKE_INSTALL_PREFIX=~/local ... Das funktioniert auch dann noch, wenn das Projekt bereits gebaut wurde.

Mit make DESTDIR=<PREFIX> install kann man unabhängig davon vor die definierte Zielverzeichnis-Hierarchie noch einen Präfix hängen. Wenn man z. B. CMAKE_INSTALL_PREFIX nicht verändert, und make DESTDIR=~ install ausführt, dann wird nicht nach /usr, sondern nach ~/usr installiert.

4   Fehlermeldungen, Lob, Kritik, Mitmachen

Fehlermeldungen und Verbesserungsvorschläge sind immer willkommen! Einfach eine E-Mail an tobias . leupold at gmx . de schreiben!

Wer einen Patch schreiben will, sollte immer den aktuellen Entwicklungsstand (git master) als Ausgangspunkt verwenden. Dieser kann aus dem Git-Repository von Muckturnier git://git.l3u.de/muckturnier.git (anonym) ausgecheckt werden.

5   Schlussbemerkung

Wenn jemand Muckturnier auf einem Turnier eingesetzt hat, dann würde ich mich über Feedback freuen! Gerne würde ich das entsprechende Turnier auch als Referenz auf der Homepage mit auflisten, wenn ich darf.

Bisher hat Muckturnier immer fehlerfrei gerechnet und einwandfrei funktioniert. Der Autor übernimmt aber natürlich keinerlei Garantie für die Fehlerfreiheit, Verwendbarkeit, Funktionstüchtigkeit oder Verfügbarkeit des Programms (vgl. auch die für Muckturnier benutzte Lizenz GPL v2), für aus Fehlberechnungen oder -eingaben resultierende Wirtshausschlägereien oder sonst irgendwas ;-)

Viel Spaß mit Muckturnier und natürlich auch beim Mucken :-)