Hinweis: Vor allem bei M1-MacOS kann es zu Problemen kommen mit Java 19 und höher.
Für das optimale Erlebnis empfehlen wir Java 17.
Eine Liste von häufig auftreteten Fehlern findet ihr hier: https://wettbewerb.acagamics.de/haeufige-fehler/
Schritt 1 – Download
Die Grundvoraussetzung ist der Besitz einer aktuellen Java-Version. Wir empfehlen Java 17, aber es werden alle Java-Versionen ab Java 11 unterstützt.
Beachtet dass ihr eine JDK benötigt, eine JRE ist nicht ausreichend!
Ladet euch zunächst die aktuellste gaTDsen.jar
Datei herunter. Den Direktlink findet ihr auf der Startseite.
Die folgenden Befehle zur Ausführung des Spiels funktionieren nur, wenn ihr euch mit eurem Terminal auch in dem gleichen Ordner wie die gaTDsen.jar
Datei befindet.
Schritt 2 – Spiel starten
Das Spiel startest du über die Kommandozeileneingabe mit dem Befehl
java -jar gaTDsen-[Version].jar
bspw.:
java -jar gaTDsen-1.0.0.jar
Ihr habt einen HumanPlayer
, welcher von euch mit der Maus gesteuert werden kann und eine Auswahlliste für Bots.
Schritt 3 – Bot einbinden
Um nun einen eigenen Bot erstellen zu können, den ihr anschließend programmieren könnt müsst ihr folgendes tun:
- In dem Ordner, wo die
gaTDsen.jar
Datei liegt, erstellt ihr nun einen weiteren Ordner und nennt diesen „bots
“ (Case-Sensitive; Vergesst das s am Ende nicht) - In dem neuen Ordner erstellt ihr eure Bot-Klasse oder kopiert die Vorlage von der EinfInf-Seite bzw. direkt aus unserem Quellcode ein.
- Deine Datei muss zum
package bots;
gehören. - Vor dem Starten müsst ihr eure
[Bot].java
Datei in eine[Bot].class
Datei kompilieren:
javac -cp gaTDsen-[Version].jar ./bots/[Bot].java
bspw.
javac -cp gaTDsen-1.0.0.jar ./bots/MyBot.java
Wenn eure Konsole den Befehl javac
nicht kennt obwohl ihr eine JDK installiert habt, liegt dies unter Windows und Linux oft daran, dass in eurer Path Environment Variable der Pfad zur JDK nicht enthalten ist.
Hier findet ihr eine offizielle kleine Anleitung von java.com.
Headless (via Terminal)
Ihr könnt das Spiel headless
durchführen, d.h. ohne die grafische Oberfläche (dadurch auch deutlich schneller)
- Dabei ist
-g
der Flag für die Gamemodeauswahl, bspw.:normal
für den ModusNormal
.admission
für dieWeihnachtsaufgabe
.campaign w.t
für dieKampagne
der Wochew
und die Aufgabet
.
-m
erlaubt es eine Map gezielt anzugeben.-p
für das Auswählen der Spieler bzw. Bots.-n
für „NoGui“, also das Weglassen der grafischen Oberfläche.
Das heißt, ihr seht das Ergebnis des Spiels lediglich als Ausgabe auf der Konsole.
Der Vorteil besteht darin, dass das Spiel deutlich schneller ausgewertet werden kann, da keine Animationen abgespielt werden müssen.
Normaler Modus:
java -jar gaTDsen-[Version].jar -g normal -m "map2" -p "MyBot1 MyBot2" -n
Klausurzulassung:
java -jar gaTDsen-[Version].jar -g admission -p MyBot -n
Kampagne:
java -jar gaTDsen-[Version].jar -g "campaign [Woche].[Aufgabe]" -p MyBot -n
weitere Hilfe:
java -jar gaTDsen-[Version].jar --help
Häufige Fehler
java -XstartOnFirstThread -jar