Spielregeln

Das Spiel läuft in drei Phasen ab:

Setzphase

Die Spieler setzen abwechselnd je einen Stein, insgesamt je neun, auf Kreuzungs- oder Eckpunkte des Brettes.

Zugphase

Die Spielsteine werden gezogen, das heißt, pro Runde darf jeder Spieler einen Stein auf einen angrenzenden, freien Punkt bewegen. Kann ein Spieler keinen Stein bewegen, hat er verloren.

Endphase

Sobald ein Spieler nur noch drei Steine hat, darf er mit seinen Steinen springen, das heißt, er darf nun pro Runde mit einem Stein an einen beliebigen freien Punkt springen. Sobald ihm ein weiterer Stein abgenommen wird, hat er das Spiel verloren. Drei Steine einer Farbe, die in einer Geraden auf Feldern nebeneinander liegen, nennt man eine „Mühle“. Wenn ein Spieler eine Mühle schließt, darf er einen beliebigen Stein des Gegners aus dem Spiel nehmen, sofern dieser Stein nicht ebenfalls Bestandteil einer Mühle ist.

Die offiziellen Turnierregeln erlauben seit 2010 das Schlagen eines Steines aus einer geschlossenen Mühle, wenn der Gegner nur noch Steine in geschlossenen Mühlen hat. Regional und teilweise auch in kommerziell vermarkteten Produkten wird dies jedoch anders gehandhabt.
In Mylos wird klassisch gespielt, also ohne diese zusätzliche Turnierregel.

Hinter dem Vorhang

Das Spiel wurde mit folgenden Techniken programmiert:

Frontend

Menu und Texte wurden mit HTML Elementen umgesetzt. Das Styling erfolgt mittels Bootstrap. Das Spielfeld selbst ist ein HTML Canvas Element, welches über Javascript animiert wird. Kern des Spielablaufs bildet eine Game-Loop, welche Delta-Time berücksichtigt und über die Javascript Funktion "RequestAnimationFrame" getriggert wird. Der Spielablauf wird durch einen einfachen Zustandsautomaten realisiert, bei dem jeder Zustand aus einer "Enter"-Routine und einer "Prozess"-Routine besteht. Die "Enter-Routine" wird einmal beim eintreten in einen Zustand ausgeführt. Die "Prozess"-Routine wird zyklisch ausgeführt und gibt den nächsten Zustand als Wert zurück. Darüber lässt sich das Veweilen im Zustand und die Transition in einen nächsten Zustand steuern.

Backend

Das Backend besteht aus einer ASP.NET Seite mit Anbindung an eine MS SQL Datenbank über das .NET Entity Framwork.