Dokumentation und Material

Dokumentation

Allgemeine Dokumentation


Die allgemeine Dokumentation enthält Informationen zur Programmierung im Allgemeinen, zur Programmierung des Computerspielers, zum Wettkampf, zur Bedienung des Wettkampfsystems und alles Weitere, was man als Teilnehmer der Software-Challenge wissen muss.

Dokumentation zum Spiel 'Hey, Danke für den Fisch'!

Spielanleitung


Für die Entwicklung eines Clients in einer selbstgewählten Programmiersprache ist außerdem die XML-Dokumentation wichtig.

Herunterladbare PDF-Versionen sind in der Online-Version verlinkt.

Chat

Bei Fragen erreicht man einen Betreuer am besten im Chat auf unserem Discord Server. Auch andere Teilnehmende sind dort, um sich auszutauschen. Das eigene Team kann einen privaten Raum bekommen, um Strategien zu diskutieren oder die Entwicklung zu koordinieren.

YouTube-Tutorial

Es gibt ein Tutorial-Reihe aus YouTube-Videos, um den Einstieg zu Erleichtern.


YouTube Kanal

Downloads

Zum Start reicht der Server. Um dann einen eigenen Computerspieler zu programmieren, dient für gewöhnlich der Quellcode des SimpleClients als Grundlage.

Der Server (mit grafischer Oberfläche)

Darin können sowohl menschliche Spieler als auch Computerspieler gegeneinander spielen. Grundlegende Informationen zur Benutzung stehen in der Dokumentation – Der Spielleiter (Server).

Achtung! Damit der Server richtig funktioniert, muss eine Java Laufzeitumgebung in Version 11 oder neuer installiert sein. Wir empfehlen OpenJDK, da bei Oracle inzwischen ein Account gefordert wird. AdoptOpenJDK hat sich inzwischen zu Adoptium und ihre Binaries zu Temurin umbenannt, aber die Funktionalität hat sich nicht geändert.

Der Server kann direkt von GitHub heruntergeladen werden:


Download Linux GUI Server

 

Download Windows GUI Server

 

Download Mac GUI Server


Github Releases

Java Zufallsspieler 

Der Zufallsspieler ist ein einfacher Computerspieler, der korrekte aber zufällige Züge macht. Der Quelltext dient als Entwicklungsgrundlage. Weitergehende Informationen zum RandomPlayer befinden sich in der Allgemeinen Dokumentation.

Der Zufallsspieler kann direkt von GitHub heruntergeladen werden:


Download RandomPlayer

Fortgeschrittener Java Spieler 

Ein Fortgeschrittener Spieler für 'Hey, Danke für den Fisch' ist in Arbeit.

Testserver

Der Testserver ist ein Server ohne grafische Oberfläche. Dadurch kann er für automatisierte Tests verwendet werden. Dies wird in der allgemeinen Dokumentation zu automatischen Spielen beschrieben.

Der Testserver kann direkt von GitHub heruntergeladen werden:


Download Testserver

Quellcode für Server & Client

Der Quellcode ist eher für Fortgeschrittene gedacht, die eigene Veränderungen am Server vornehmen oder die genauen Abläufe verstehen möchten. Für eine erfolgreiche Teilnahme an der Software-Challenge ist der Server-Quellcode nicht nötig.


Quellcode auf GitHub

Ruby-Version des SimpleClient

Zur Entwicklung eines SimpleClient in Ruby wird lediglich das software_challenge_client Gem benötigt, welches auch direkt von rubygems.org installiert werden kann. Dieser Download beinhaltet den gesamten Quellcode des Gems sowie einen Beispielclient der das Gem nutzt. Der Quellcode ist auch über GitHub verfügbar.

Versionshistorie (Ruby)
Dokumentation (Ruby)

Inoffizielle Clients

Hier werden inoffizielle Clients (von unseren Mitarbeitern und früheren Teilnehmern) aufgeführt, für die wir jedoch keine offizielle Unterstützung anbieten.

Hey, Danke für den Fisch! (2023)

C# Client als Nuget Package

C++ Client

Rust Client

Python Client als PyPI Package

Swift Client

TypeScript Client als npm Package

Ostseeschach (2022)

C# Client

Python Client

Blokus (2021)

C# Client

Rust Client

Hive (2020)

C++ Client

Python Client (nutzt im Hintergrund den C++ Client)

Rust Client

Swift Client (ausführliche Dokumentation vorhanden)

Flyer

Unseren Flyer zur Software-Challenge herunterladen