Das neue Release des Muckturnier-Programms bringt vor allem Verbesserungen für die Auslosung von Einzelspielern und bessere Unterstützung für Turniere mit nur einem Bobbl pro Runde. Abgesehen davon wurden natürlich auch ein paar Fehler behoben.
Bessere Unterstützung für nur einen Bobbl pro Runde
Wie kürzlich gelernt werden mancherorts nicht mehrere Bobbl pro Runde gespielt, sondern nur eine Runde bis zu einer bestimmten Punktzahl (also faktisch ein einzelner Bobbl). Dem trägt das Programm jetzt Rechnung:
Es gibt jetzt auch eine Spielstandzettel-Vorlage für nur einen Bobbl. Außerdem werden die Oberfläche und der Datenexport jetzt angepasst, wenn es nur einen Bobbl gibt: Es wird jetzt dann z. B. bei der Ergebniseingabe nicht mehr „1. Bobbl“ angezeigt, sondern einfach „Ergebnis“ – es gibt ja nur einen Bobbl. Entsprechend wird auch der Export passend formatiert.
Bessere Auslosung für Einzelspieler
Wenn man Einzelspieler auslost, dann kann man nicht nur einen Haken dafür setzen, dass möglichst vermieden werden soll, dass dieselben Gegner erneut zugelost werden, sondern auch dieselben Partner. Sollte das nicht mehr möglich sein, dann wurde bisher eine komplett zufällige Auslosung gemacht.
Bei wenigen Spielern dauert es nicht lang, bis man beide Kriterien nicht mehr erfüllen kann: Es geht recht schnell, dass in einem gegnerischen Paar ein Spieler ist, gegen den zumindest einer des anderen Paars schon einmal gespielt hat. Die dann zufällig vorgenommene Auslosung hatte dann schnell zur Folge, dass dieselben zwei Spieler mehrfach einander zugelost wurden – es gab also schnell „Kollisionen“ bei Partnern.
Ab jetzt gibt es einen Zwischenschritt: Wenn es keine Plätze mehr gibt, bei denen sowohl das eine wie auch das andere Kriterium erfüllt sind, wird versucht, zumindest das Zulosen von bereits zugelosten Partnern zu vermeiden. Das sorgt für viel weniger Kollisionen: Bei den Partnern gibt es ja nur halb so viele, wie bei den Gegnern – somit kann man dieses Kriterium viel einfacher erfüllen, und die Vorgaben zumindest zur Hälfte deutlich länger erfüllen.
Beim Auslosen einer kompletten Runde wird jetzt darauf hingewiesen, wenn es Kollisionen gab, welche und wie viele. Für Einzelspieler kann man dann erneut eine Auslosung versuchen, weil diese ggf. ein anderes Ergebnis liefern kann (bei festen Paaren gibt es erst dann Kollisionen, wenn es wirklich nicht mehr anders geht).
Neues zu Qt 6
Das Linux-AppImage basiert jetzt auf Qt 6. Auf der mittlerweile ältesten noch unterstützen LTS-Version von Ubuntu (22.04) kann man problemlos mit Bordmitteln Qt 6 bauen und nutzen. Somit dürfte es auf Linux keinerlei Kompatibilitätsprobleme mit einem Qt-6-Build geben.
Die Windows- und macOS-Builds bauen zunächst weiterhin auf Qt 5 auf, um maximale Kompatibilität auch mit alten Rechnern möglichst lang aufrechtzuerhalten.
Weitere Änderungen und Bugfixes
Alle Änderungen enthält, wie immer, der ChangeLog – hier eine Auswahl:
Es wurden einige Rendering- und Anzeigeprobleme, vor allem für den Breeze-Style von KDE, behoben. Weiterhin wurde generell am Aussehen gefeilt. Ausführlich steht das im ChangeLog.
Beim Drucken von Zetteln wird jetzt überprüft, ob versehentlich die voreingestellten Platzhalter-Überschriften belassen oder keine angegeben wurden und in dem Fall eine Warnung angezeigt.
Wenn auf der Anmeldungsseite eine andere Runde für die Auslosung gewählt wird, dann wird diese Runde jetzt auch automatisch auf der Übersicht-Auslosung-Seite angezeigt (und damit auch automatisch das Auslosungs-Display aktualisiert). Auf der Seite selber kann ungeachtet dessen weiterhin eine beliebige Runde ausgewählt werden. Neu ist, dass jetzt auch Runden ausgewählt werden können, für die es noch keine Auslosung gibt.
Es können jetzt wieder alle Markierungen genutzt werden, nicht nur die, die oberhalb der „Unmarkiert“-Markierung einsortiert sind. Auf alle danach konnte man nicht zugreifen. Dieser Fehler hatte sich tatsächlich schon in Version 3.7.0 eingeschlichen, aber ist vermutlich aufgrund der voreingestellten Standardmarkierungen (mit „unmarkiert“ ganz unten) nicht aufgefallen.
Wenn man im Zeitplan-Display jetzt für eine Seite ein Hintergrundbild lädt, und die Seite hatte schon vorher eines, dann wird dieses jetzt sofort angezeigt, und nicht erst, nachdem die Größe des Displays verändert wird.
Bei den Binärpaketen können jetzt auch JPEG-Dateien (insbesondere als Hintergrundbild für das Zeitanzeige-Display) genutzt werden, nicht nur PNG-Dateien. Das Fehlen der JPEG-Unterstützung war gar nicht am Code gelegen, sondern an den Qt-Builds, die bisher zum Bauen der jeweiligen Pakete genutzt wurden. Egal wie – das Problem ist jetzt behoben.
Viel Spaß mit der neuen Version und vor allem beim Mucken :-)
Der MSC Baiergrün macht wieder ein Muckturnier! Dieses Jahr zum zweiten Mal, und erstmalig mit Hilfe des Muckturnierprogramms! An dieser Stelle auch ein herzliches Willkommen im Team :-)
Gerade habe ich ein kleines Coaching mit dem Turnierleiter Sven Peetz absolviert. Das Programm ist doch in einigen Belangen mittlerweile ziemlich komplex geworden, und das Einfachste ist wirklich, wenn man es mal gezeigt kriegt. Generell: Wenn ihr Fragen oder Probleme habt, dann immer gerne melden!
Hier der Flyer für das Muckturnier – es sind noch Plätze frei!
Ich wünsche euch viel Spaß beim Karten, und natürlich vor allem mit dem Muckturnierprogramm!
Das Muckturnier-Programm hat jetzt amtlich die Grenzen des Landkreises Hof überschritten! Am Freitag fand das Muckturnier des TSV 1908 Kulmbach statt – und ausgewertet wurde, erstmals, mit dem Programm. Ich hatte im Vorfeld eine Anfrage zur Umsetzung vom Turnierleiter Kai van Avondt bekommen. Glücklicherweise konnten wir alles klären, und dem Einsatz stand nichts im Wege.
Damit ist auch gleich noch eine weitere Variante aufgetaucht, wie man ein Muckturnier abhalten kann. Gespielt wurden nämlich tatsächlich nur Runden – also formaljuristisch ein einzelner Bobbl pro Runde. Beliebig viele Bobbl kann man schon lang auswählen (genaugenommen seit Version 0.4 von 2014). Aber nur einer, das hatten wir bisher nicht.
Daraus haben sich dann gleich noch ein paar Verbesserungen ergeben, die es dann für alle mit dem nächsten Release (vermutlich Version 3.10.0, t. b. a.) geben wird (bzw. jetzt schon in git master):
Wenn man nur mit einem Bobbl pro Runde spielt, dann wird die Oberfläche entsprechend angepasst. Namentlich gibt dann die überflüssige Spalte bzw. Zeile (je nach dem, ob man „horizontale“ oder „vertikale“ Spielstandzettel auswählt) „Bobbl“ in der Spielstände-Tabelle nicht, und es heißt bei der Ergebniseingabe einfach „Ergebnis“ und nicht „1. Bobbl“.
Wenn die Turnierdaten exportiert werden, dann werden die Ergebnisse auch entsprechend formatiert, ohne überflüssige Bobbl-Angaben.
Es gibt jetzt eine zusätzliche Vorlage für Spielstandzettel mit nur einem Bobbl pro Runde. Insgesamt kann man jetzt zwischen Spielstandzetteln für einen, zwei oder drei Bobbl pro Runde wählen.
Ich habe mich auf jeden Fall sehr über die Rückmeldung gefreut, und natürlich über das nächste Turnier, was jetzt mit dem Muckturnier-Programm ausgewertet wird. Es werden immer mehr – und dann noch eines so „weit weg“ ;-)
Und eine weitere Variante deckt das Programm jetzt auch noch ab – dank der Rückmeldung. Immer her damit! Alles in allem sehr erfreulich!
Das neue Release 3.9.0 bringt vor allem Verbesserungen für die Voranmeldung – insbesondere mit Anmeldungscodes – und die Auslosung. Weiterhin gibt es einige Änderungen und es wurden auch ein paar Fehler behoben.
Vorsicht: Es gibt nicht abwärtskompatible Änderungen! Das Serialisierungsprotokoll für Anmeldungscodes wurde aktualisiert (s. u.). Anmeldungscodes, die mit einer älteren Version erzeugt wurden, können nicht mehr verarbeitet werden. Das ist an sich kein Problem, weil die Codes ja auch nur zum einmaligen Gebrauch sind – ein Problem würde aber dann auftreten, wenn man mit einer älteren Version die Voranmeldung macht, aber für das Turnier selber dann die aktuelle nutzt. Also: Falls ihr gerade ein Turnier mit Anmeldungscodes vorbereitet, dann bitte erst danach updaten!
Auslosungs-Display
Damit konnte ich ein Feature Request aus Zedtwitz umsetzen! Auf der „Übersicht Auslosung“-Seite kann man jetzt ein zusätzliches „Auslosungs-Display“ einblenden. Das ist, ähnlich wie das „Turnier-Zeitplan-Display“, dafür gedacht, dass man es auf einem zweiten Bildschirm, einem Fernseher oder mit einem Beamer anzeigt. Hier ein minimalistisches Beispiel:
Die Schriftgröße (und entsprechend die Breite der Rahmen) kann über das Kontextmenü eingestellt werden. Damit sollte – für eine realistische Anzahl an Tischen – die komplette Auslosung auf einmal angezeigt werden können, und dabei so groß wie möglich.
So kann eine auf einmal durchgeführte Auslosung (via „Alle Plätze auslosen“ auf der Anmeldungsseite) bequem für alle angezeigt werden.
Verbesserungen für die Voranmeldung
Besserer Statustext für die Anmeldung
Der Statustext der Anmeldungsseite wurde überarbeitet. Die Ausgabe ist jetzt strukturierter und gibt insbesondere aus, wie viele Tische besetzt wären und wie viele Paare bzw. Spieler noch fehlen würden, wenn alle Voranmeldungen kommen.
Das ist vor allem dann interessant, wenn man viele Voranmeldungen hat und nahe ans Tischlimit kommt. So weiß man direkt, wie viele Plätze noch frei sind, also wie viele Anmeldungen vor Ort noch angenommen werden können, und gleichzeitig sichergestellt ist, dass alle Vorangemeldeten mitspielen können.
Das sieht dann z. B. so aus:
Vereinheitlichtes Interface und Voranmeldungen heißen jetzt auch so
Das Interface zur Auswahl der Markierung für Voranmeldungen wurde mit dem für allein gekommene Spieler vereinheitlicht. Aktiviert werden kann das Berücksichtigen von Voranmeldungen jetzt analog über eine Checkbox neben dem Gruppen-Box-Titel.
Weiterhin ist jetzt auch überall von „Voranmeldungen“ die Rede, und nicht mehr von „abwesenden Anmeldungen“ – was zugegebenermaßen etwas verwirrend und unglücklich formuliert war:
Anmeldungscodes verbessert
Kürzlich habe ich ja festgestellt, dass manche QR-Code-Scanner keine Leerzeichen eingeben – oder zumindest nicht ohne Weiteres. Um für maximale Hardwarekompatibilität zu sorgen, wurde das Serialisierungsprotokoll für die Anmeldungscodes dahingehend verbessert und liegt jetzt in Version 2 vor. Es werden jetzt keine Leerzeichen mehr in den Codes kodiert.
Damit man einen Hardware-Barcode-Scanner komfortabel auf korrekte Funktionalität bzw. Konfiguration testen kann, gibt es jetzt den „Code-Scanner testen“-Dialog. Angezeigt wird ein QR-Code, der alle Zeichen enthält, die in einem Anmeldungscode vorkommen können. Den scannt man, und dann wird überprüft, ob der eingegebene Datensatz exakt dem kodierten entspricht:
So muss man nicht mehr mit selbstgenerierten Codes, die potenziell gar nicht das prüfen, auf was es ankommt, herumprobieren.
Widerrufen von Anmeldungscodes
Anmeldungscodes können jetzt als ungültig deklariert werden: Wird eine Voranmeldung gelöscht, für die bereits ein Anmeldungscode exportiert wurde, oder wird nach einer Änderung ein neuer Anmeldungscode exportiert, dann wird der vorher exportierte Code als widerrufen hinterlegt. Wenn ein solcher Code gescannt wird, dann wird eine entsprechende Warnung angezeigt.
Damit kann folgender – hoffentlich nur theoretisch denkbare – Fall abgefangen werden: Angenommen, es gibt 10 Tische, und man hat bereits 20 Voranmeldungen. Also keinen Platz mehr. Eine Voranmeldung sagt ab, und man vergibt den frei werdenden Platz neu. Und dann kommt das Paar, was abgesagt hatte, trotzdem – mit einem gültigen Anmeldungscode. Dann kann man jetzt zumindest sagen, dass die Voranmeldung widerrufen wurde, und auch wann (der Zeitpunkt wird mit gespeichert).
Verbesserungen und Bugfixes für das Drucken von Zetteln
Vorneweg ein behobener Fehler: Beim Drucken von Spielstandzetteln wird jetzt auch dann die korrekte Anzahl an Zetteln ausgegeben, wenn die Anzahl der Tische nicht durch die Anzahl der Zettel pro Blatt teilbar ist. Bisher haben in diesem Fall am Ende ein paar Seiten gefehlt. Der Fehler hat sich vermutlich überm Portieren der ursprünglichen Perl-Scripts auf C++ eingeschlichen.
Neu ist, dass Auslosungszettel jetzt in Stapel zusammengefasst werden. Das hat einen ganz einfachen, praktischen Grund: Man kann mit einem normalen Papierschneider nicht beliebig viele Zettel auf einmal schneiden.
Bei den Vorbereitungen für das Muckturnier der JU Leupoldsgrün habe ich Auslosungszettel für 26 Tische erstellt. Herausgekommen sind 8 Seiten. Aber so viele konnte ich nicht auf einmal schneiden. Also musste ich zwei mal 4 schneiden, und dann erst die einzelnen Haufen aufeinander legen, um schließlich die kombinierten Haufen dann von links oben nach rechts unten aufeinander zu legen, damit die Reihenfolge passt – und das nervt.
Die Lösung: Die Zettel-Bögen in Stapel zusammenfassen, die man vernünftig schneiden kann. Und dann einen Stapel schneiden, die Haufen aufeinander legen, dann den nächsten – und dessen aufeinander gelegter Haufen kommen dann unter den 1. Stapel usw.
Ganz trivial war das nicht, aber es funktioniert jetzt. Die Anzahl der Seiten pro Stapel kann man frei wählen, es wird aber eine vorgeschlagen, sobald man die Anzahl der Tische oder die Anzahl der Zettel pro Paar ändert. Und das ist die Anzahl, bei der – bei maximal 5 Seiten pro Stapel – die wenigsten leeren Zettel entstehen, also die wenigsten Seiten gebraucht werden.
Neuerungen für das Zeitplan-Display
Man kann jetzt auch für die „Zeitanzeige“-Seite des Zeitplan-Displays ein Hintergrundbild auswählen, genau wie für die „Willkommen“- und „Auf wiedersehen“-Seite. Wird keines gewählt, wird, wie bisher, die gesetzte Hintergrundfarbe angezeigt.
Abgesehen davon ist es jetzt möglich, beliebig viele Einstellungen abzuspeichern, jeweils referenziert mit einem Namen als ID. Damit kann man jetzt Vorlagen für verschiedene Turniere parallel verwalten. Die bisherigen Einstellungen sind, sofern welche gespeichert wurden, als „(unbenannt)“ verfügbar.
Weitere Änderungen, Neuerungen und Bugfixes
Alle Änderungen enthält wie immer der ChangeLog. Hier eine Auswahl:
Das Hauptmenü wurde teils neu geordnet: Optional einblendbare Seiten sind jetzt unter „Zusatzfunktionen“ zu finden, der WLAN-Code-Scanner-Server unter „Netzwerk“ etc.
Die Farben der Standardmarkierungen wurden leicht angepasst, so dass sie sowohl für helle als auch für dunkle Farbschemata („Light/Dark Mode“) einen hinreichenden Kontrast haben und somit gut lesbar sind.
Das Programm kann jetzt mit cmake nicht nur unter Linux, sondern auch unter Windows und macOS gebaut werden (wenngleich ein komplettes Build incl. Icons etc. nach wie vor nur unter Linux funktioniert; für die beiden anderen Systeme empfehle ich nach wie vor ein Binärpaket).
Die Voranmeldungsseite wird jetzt korrekt aktualisiert, wenn man zwischen verschiedenen Datenbanken wechselt bzw. ein neues Turnier startet, nachdem schon eine Datenbank offen war, oder wenn das Berücksichtigen von Voranmeldungen über ein Netzwerk geändert wird und/oder die Seite bereits geöffnet ist, bevor eine Verbindung hergestellt wird.
Ein Wechsel des Farbschemas („Light/Dark Mode“) wird jetzt korrekt angewandt, ohne dass ein Neustart des Programms dafür nötig ist.
Wenn der Name einer markierten Anmeldung im Netzwerkbetrieb geändert wird, dann schlägt daraufhin die Synchronisation nicht mehr fehl. Dieser Fehler hatte sich tatsächlich schon von Version 3.7.0 eingeschlichen: Fälschlicherweise wurde nicht nur der Name geändert, sondern auch die Markierung entfernt. Das ist jetzt behoben.
Die Suchfunktion wurde weiter verbessert: Jetzt werden typische Paar-Trenner („/“, „+“ und „&“) berücksichtigt. Wenn man z. B. „Müller Alexander / Schmidt Heinrich“ angemeldet hat, und will „alexander Mueller/Heinrich schmitt“ anmelden, dann wurde das trotz aktivierter phonetischer Suche bisher nicht als mögliches Duplikat gemeldet – sofern die automatische Groß- und Kleinschreibung deaktiviert war und/oder ein anderer als der eingestellte Paartrenner eingegeben wurde.
„Mueller/Heinrich“ wurde – mangels Leerzeichen vor bzw. nach dem Schrägstrich – als ein Wort angesehen, und deswegen konnte die phonetische Suche keine Übereinstimmung finden. Jetzt werden bei solchen Eingaben, sofern einer der o. g. Trenner benutzt wird, die Namen einzeln verarbeitet und es wird korrekt eine „Potenzielles Duplikat“-Warnmeldung angezeigt.