Code-Rundgang
Das Programm, Zeile für Zeile
Rund 2000 Zeilen C, keine einzige externe Bibliothek. Links steht jeweils die Erklärung, rechts der Code.
Zeilen mit blauer Nummer haben eine eigene Anmerkung – einfach anklicken.
Die Erklärungen stehen als Kommentare direkt im Quelltext (/*@ … */ und //@) und werden
daraus automatisch erzeugt; sie können also nicht veralten.
Die Architektur auf einen Blick
Von unten nach oben gelesen
- board – das Spiel selbst. Ein Feld ist eine 64-Bit-Zahl, ein Zug sind vier Tabellen-Nachschläge.
- ntuple – die Bewertung. Tupel lesen Zellen ab, schlagen Gewichte nach und summieren.
- td – Entscheiden und Lernen. Bester Zug = höchstes Punkte + Wert; nach der Partie rückwärts korrigieren.
- search – optionale Vorausschau für Vorführungen.
- train – organisiert Tausende Partien auf mehreren Threads und hält an Meilensteinen an.
- io – schreibt, was die Webseite anzeigt.
- main – macht aus all dem ein Kommandozeilen-Programm.
Die blau umrandeten Module sind der „heiße Pfad“: Hier verbringt das Training 99 % seiner Zeit.