Die Basisklasse aller Spielmodi ist „BaseMode”, jeder Spielmodus erbt von dieser Klasse. Diese Klasse kümmert sich um alle grundlegenden Funktionalitäten, die für jede Spielmodus von Bedeutung sind: Messung der Zeit, Zählung der Runden, Aktualisierungen der Oberfläche ermöglichen, die Ampelsequenz einleiten.
Was diese Klasse nicht übernimmt, ist die Entscheidung, wann ein Rennen beendet ist, da dies von jedem Spielmodus abhängig ist. Dazu stehen drei Methoden zur Verfügung, die von den Unterklassen überschrieben werden können: configure ermöglicht es, weitere Argumente zu verarbeiten, etwa die maximale Anzahl von Runden oder ein Zeitlimit. on_player_passed_line wird aufgerufen, wenn ein Spieler die Ziellinie durchquert; das entsprechende Spielerobjekt wird als erstes Argument übergeben. Mithilfe von check_conditions können weitere Überprüfungen durchgeführt werden, z.B. auf das erreichen des Zeitlimits getestet werden, da diese Methode in jedem Schleifendurchgang aufgerufen wird.
Baseclass for all modes.
Cancel a match.
Check for winning conditions.
Overwrite this method in your gamemode to check for certain conditions, e.g. timelimits. Called after every sensor polling.
Make further configurations.
Overwrite this method if you want to use more arguments. Additional arguments to __init__ will be passed to this method after the other arguments (device, ui, players) have been processed.
Called when a car passes the sensor at the line and is not yet finished.
Round time will be saved before calling and is accessable via the player object.
Give control to the gamemode until the race is finished.
Write the acquired data to the database. (not implemented)
In einem „Knock Out“ Rennen fliegt in jeder Runde der langsamste Spieler raus. Dadurch sind maximal drei Runden möglich, bei diesen stehen die Spieler aber unter hohem Druck und Nervenkitzel.
Bei einem Match fahren 2-4 Spieler eine bestimmte Anzahl an Runden. Nach dem Absolvieren aller Runden wird der Strom auf der entsprechenden Spur abgeschaltet.
Im Modus „Time Attack“ wird eine bestimmte Zeit vorgegeben. Nach Ablauf der Zeit wird auf allen Spuren der Strom abgeschaltet. Sieger ist, wer die meisten Runden geschafft hat.
Im „Training” Modus kann auf jeder Spur separat trainiert werden. Dafür wird eine maximale Anzahl von Runden angegeben, die auf jeder Strecke absolviert werden können. Bei Erreichen des Limits wird der Strom von der Strecke genommen, bis er wieder über den „Admin” Tab im Hauptfenster wieder freigeschaltet wird. Nach der Freischaltung können auf dieser Spur wieder soviele Runden gefahren werden, wie das Limit vorgibt.