Autor: | Tobias Leupold |
---|---|
Homepage: | http://nasauber.de/opensource/mucktunier/ |
Kontakt: | tobias.leupold@web.de |
Datum: | 17.10.2014 |
Inhaltsverzeichnis
muckturnier ist ein Programm, mit dem man ein Muckturnier auswerten kann. Wer nicht weiß, was ein Muckturnier ist, braucht an dieser Stelle nicht weiterlesen ;-)
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 Punkte pro Bobbl und der Bobbl pro Runde können frei gewählt werden (vgl. hierzu auch Regeln für das Turnier).
muckturnier ist in Python 3 geschrieben und nutzt die Klassenbibliothek Qt 5 mittels PyQt5. Zum Speichern der Daten benutzt muckturnier eine SQLite-3-Datenbank. Entsprechend werden Python mit SQLite-Unterstützung, Qt und PyQt benötigt, um muckturnier verwenden zu können (vgl. Installation).
Erfolgreich getestet wurde das Programm unter Linux, Windows XP und Windows 7. Unter Mac OS X sollte es genauso laufen, mangels Test-Hardware wurde dies aber zum Zeitpunkt der Erstellung dieses Textes noch nicht geklärt.
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.
Prinzipiell ist zwischen einem Turnier mit festen Paaren und einem mit einzelnen Spielern zu unterscheiden. Wird mit festen Paaren gespielt, ist (natürlich) eine gerade Anzahl von Paaren notwendig, wenn mit einzelnen Spielern gespielt wird, entsprechend eine durch vier teilbare Anzahl. Die Punktwertung ist aber immer gleich:
Es kann in jeder Runde ausgelost werden, wer gegen wen an welchem Tisch spielt.
Wenn mit festen Paaren und nach dem hier in der Gegend üblichen Turniermodus gespielt wird, dann können die für die Runde passenden Paare an einem gegebenen Tisch bzw. der passende Tisch und das passende gegnerische Paar zu einem gegebenen Paar automatisch ausgewählt werden. Dieser Turniermodus funktioniert wie folgt:
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 jeweiligen Tisch sitzen, Paar 2 rückt nach jeder Runde einen Tisch weiter. Erreicht ein Paar den letzten Tisch, wechselt es nach der jeweiligen Runde an den ersten Tisch.
muckturnier hat unter Windows folgende Abhängigkeiten, also Programme, die installiert sein müssen, damit es ausgeführt werden kann:
Es handelt sich bei beiden (wie bei muckturnier auch) um Open-Source-Projekte, die kostenlos erhältlich sind. Sofern die Pakete nicht eh schon da sind: einfach herunterladen und installieren. Die zum Zeitpunkt der Erstellung dieser Anleitung aktuellen, passenden 32-Bit-Pakete (die auch unter Windows XP noch laufen) waren (direkte Links zum Download, aber evtl. sind diese mittlerweile nicht mehr aktuell):
Zu beachten ist, dass die Version von PyQt5 zu der Version von Python passt: In diesem Fall python-3.4.2.msi und PyQt5-5.3.2-gpl-Py3.4-Qt5.3.1-x32.exe.
Wenn alles richtig installiert ist, dann kann muckturnier mittels der ausführbaren Datei muckturnier.pyw wie jedes andere Programm gestartet werden (je nach Explorer-Einstellung wird die Erweiterung „.pyw“ evtl. nicht angezeigt). Eine extra Installation ist nicht notwendig. Man kann also den Ordner muckturnier-* z. B. einfach nach C:\Programme\ oder an einen anderen Ort kopieren (und natürlich auch umbenennen). Alle Dateien sind in diesem Ordner.
muckturnier hat folgende Abhänigkeiten:
Wenn diese Pakete nicht sowieso bereits installiert sind, dann können sie normalerweise über das Paketmanagement der jeweiligen Distribution installiert werden. Bitte darauf achten, dass Python Unterstützung für SQLite enthält. Es werden die Qt-Module QtCore und QtGui benutzt. Evtl. können diese auch einzeln installiert werden.
Sind alle Abhängigkeiten installiert, kann muckturnier einfach mittels der ausführbaren Datei muckturnier.pyw gestartet werden.
Im Moment sind einfach alle Dateien im Verzeichnis muckturnier-*. Ein „vernünftiges“ verteilbares Paket, das alle Dateien an ihren passenden Platz packt, ist am Werden ;-)
Sowohl Python, als auch Qt und PyQt sind laut der jeweiligen Homepage für Mac OS X verfügbar. Somit müsste man muckturnier auch unter OS X verwenden können.
Ob die Pakete bereits im Installationsumfang der aktuellen OS-X-Version enthalten sind oder wie man sie installiert, wenn nicht, weiß ich (noch) nicht. Wenn jemand muckturnier unter OS X verwendet: bitte eine E-Mail schreiben und die dafür notwendigen Schritte erklären :-)
muckturnier wird mittels der Datei muckturnier.pyw gestartet.
Über das Menü kann eine neue Turnierdatenbank angelegt oder eine bestehende geöffnet werden.
Mit jeder Dateneingabe oder -änderung wird die Datenbank aktualisiert. Man muss also den jeweils aktuellen Zustand der Datenbank nicht extra speichern.
Hier wird der Turniertyp festgelegt. Es kann zwischen der Variante „Feste Paare“ und „Einzelne Spieler“ gewählt werden (vgl. hierzu auch Regeln für das Turnier).
Weiterhin können die Anzahl der Punkte pro Bobbl und die zu spielenden Bobbl pro Runde eingestellt werden. Die Voreinstellung ist 21 Punkte pro Bobbl und zwei Bobbl pro Runde.
Sind bereits Turniereinstellungen vorgenommen worden, wird die gewählte Konfiguration angezeigt. In diesem Fall kann auch der komplette Inhalt der Datenbank mittels eines Klicks auf „Datenbank zurücksetzen“ gelöscht werden (alternativ kann man auch ein neues Turnier anlegen und die bestehde Datei auswählen. Sie wird dann überschrieben).
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“.
Ändern kann man einen Paar- oder Spielernamen, indem man ihn doppelt anklickt. Gespeichert wird die Änderung durch das Drücken der Enter-Taste.
Wenn das Turnier noch nicht begonnen wurde (keine Spielergebnisse vorliegen), dann kann ein Paar oder Spieler auch gelöscht werden. Hierzu einfach mit der rechten Maustaste anklicken und im Kontextmenü „Paar/Spieler löschen“ auswählen.
Es muss, je nach gewähltem Turniertyp, eine gerade oder durch vier teilbare Anzahl von Paaren bzw. Spielern angemeldet werden, damit man mit dem Turnier anfangen kann.
Zunächst wird die Runde ausgewählt, für die das Ergebnis eingetragen werden soll.
Unter der Paarauswahl gibt es für jeden Bobbl ein Eingabefeld. Oben Paar 1, unten Paar 2, wie auf den normalen Spielzetteln. Das ausgewählte Paar bekommt den Bobbl und es können die erreichten Punkte eingegeben werden. Das andere Paar bekommt automatisch die festgelegten Bobbl-Punkte.
Die Paar- bzw. Spielerauswahl variiert je nach Turniertyp:
Es können zwei Paare ausgewählt werden.
Rechts kann „Tischnummer und Paare automatisch auswählen“ angehakt werden. Für die automatische Auswahl muss muckturnier zunächst wissen, 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, wenn eine Option verändert wird, 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, sich regelkonform umsetzen, die anderen sitzen bleiben und die Ergebnisse richtig eingetragen wurden – gewissermaßen ist das automatische Auswählen also auch eine Kontrollmöglichkeit für die Turnierleitung.
Wird „Tischnummer und Paare automatisch auswählen“ nicht gesetzt, dann wird davon ausgegangen, dass die Paare und Tische pro Runde ausgelost werden und es findet keine Überprüfung der Auswahl statt (abgesehen davon, dass zwei verschiedene Paare ausgewählt werden müssen).
Es können je zwei Spieler pro Paar, also insgesamt vier Spieler ausgewählt werden. Weiterhin muss eine Tischnummer gewählt werden. Bei diesem Turniertyp ist ohnehin davon auszugehen, dass in jeder Runde neu ausgelost wird, so dass hier keine automatische Auswahl angeboten wird.
Zu jedem Zeitpunkt ist hier die aktuelle Rangliste zu finden, sofern bereits Ergebnisse eingetragen wurden. Wenn es sich um ein Zwischenergebnis handelt, also von einer oder mehreren Runden noch Spielergebnisse fehlen, wird dies entsprechend vermerkt.
Sind alle Runden abgeschlossen (das Turnier also potenziell beendet), dann kann hier ein Turnier-Protokoll in Form einer Auflistung der Rangliste und der Einzelergebnisse aller Runden erstellt werden. Die Überschrift für das Protokoll ist einstellbar. Das eigentliche Protokoll wird als XHTML 1.1 („.htm“-Datei) gespeichert und kann somit programmunabhängig, in einer für Menschen lesbaren Form, archiviert und mit einem Webbrowser angezeigt werden.
Eine kleine Anmerkung für alle, die noch nicht viel mit Open-Source-Software zu tun hatten:
Das Programm steht unter der Lizenz GPL v2 (einer sehr beliebten und verbreiteten Open-Source-Lizenz). Es ist keine nutzungsbeschränkte Free- oder Shareware, sondern Open-Source-Software. Das heißt, dass der Quellcode offen liegt und im Rahmen der Lizenzbestimmungen kostenlos bezogen, verändert und auch weitergegeben werden darf – jetzt und auch in Zukunft (für die Windows-User: Ja, wirklich. Keine Registrierung, kein Aktivierungsschlüssel, kein Testzeitraum, keine Einschränkung, keine Werbung, keine Spyware – nur das, was draufsteht).
Fehlermeldungen und Verbesserungsvorschläge sind immer willkommen! Einfach eine Mail schreiben!
Wer einen Patch schreiben will, sollte das immer gegen den aktuellen Entwicklungsstand tun. Der ist im Git-Repository von muckturnier unter git://l3u.de/nasauber.de/muckturnier.git zu finden.
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, für aus Fehlberechnungen oder -eingaben resultierende Wirtshausschlägereien oder sonst irgendwas ;-)
Wenn irgendwer 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.
Viel Spaß mit muckturnier und beim Mucken :-)