Software Recycling

15 Jahre alter C Sourcecode des Strategiespiels Kalaha wurde auf Javascript portiert, damit es einfach in jedem Browser gespielt werden kann.

Screenshot der portierten Kalaha Version
Screenshot der portierten Kalaha Version

Etwas Off-Topic, aber es geht immerhin um das Strategiespiel Kalaha. Das Spiel ist in dem Wikipedia Artikel gut erklärt. Es ist relativ anspruchsvoll, aber in den meisten Varianten bereits mathematisch „gelöst“, d.h. man weiß, wer bei optimalem Spiel gewinnt. Es gibt dennoch im Internet kaum Möglichkeiten, das Spiel zu spielen. Daher entschloss ich mich 15 Jahre alten C-Sourcecode auf Javascript zu portieren, damit es einfach in jedem Browser gespielt werden kann. Die aktuellen Browser sollen Javascript relativ schnell ausführen.

Die Suche nach einem Werkzeug, um die Portierung zu automatisieren, war nicht erfolgreich: also  Handarbeit. Meine Javascript Erfahrungen waren relativ begrenzt. Ich nahm also Netbeans zur Hand und hoffte, dass mir die problematischen Stellen markiert werden. Nach 30 Minuten waren alle rot unterschlängelten Stellen entfernt, ich nahm mir einen Kaffee und begann mit dem rudimentären Benutzerinterface.

Keine Stunde später war der 15 Jahre alte Code lauffähig, und mein Browser spielte mit mir Kalaha. So einfach hätte ich mir das nicht vorgestellt.

Zugegeben, die Performance lässt zu wünschen übrig: Ich habe keine genauen Vergleichszahlen, aber schneller als die C-Version auf einem 8MHz PC vor 15 Jahren ist die Javascript-Version nicht. Deshalb wurde kurzer Hand die Spielstärke reduziert.

Die 15 Jahre alte Version war übrigens bereits ein Rewrite einer über 25 Jahre alten Assembler-Version für den SC/MP Mikroprozessor, die auf dem 1MHz Prozessor auch nicht schwächer spielte.

Zum Kalaha Browserspiel!