Programme
PF-Chess ist das von mir auf den Pofo angepasste Minimax-Schachprogramme aus dem Buch "Schach am PC". Ich habe nichts am Programm an sich verändert, nur eine kleine Textoberfläche dafür geschrieben. Leider ist der Pofo sehr langsam, so daß für 4 Halbzüge brute-force ca. 15 Minuten veranschlagt werden können. An die Textgrafik kann man sich gewöhnen, denke ich, aber wenn jemand ein grafisches Interface basteln möchte, ein Eröffnungsbuch oder sonstwas, stelle ich die (Turbo-C) Quellen gerne zur Verfügung. Herunterladen kann man das gute Stück hier.
Früher, bevor ich Kinder hatte, habe ich gern Dart gespielt, am liebsten Cricket. Elektrische Dartboards aber waren damals noch sehr teuer, also schrieb ich ein Programm, das für das Spiel Cricket für bis zu 4 Spieler eine Zählvorrichtung und eine grafische Anzeige des Spielstandes bereitstellt. Die Spaltenbreite für die Namen in der Ergebnisanzeige links wird dynamisch angepaßt, auch willkürliches Verändern der Würfe und Punkte ist möglich. Das Programm gibt es hier, eine Beschreibung liegt bei.
Irgendwann aber gab es bessere Taschencomputer und ich sattelte auf den Psion Serie 5 um. Auch den kann man programmieren, es gibt ein absolut unbedienbares C-Entwicklungssystem für Windows und eine Art Basic, OPL genannt, womit man auf dem schnuckeligen Teil direkt programmieren kann. Um ein Gefühl für OPL zu bekommen, habe ich ein TicTacToe-Programm geschrieben. Es spielt natürlich perfekt, verliert also niemals. Weil der Psion ziemlich lahm und OPL überdies eine Interpretersprache ist, sind ein paar kleine Tricks zur Beschleunigung drin; so dürfte es das einzige TicTacToe sein, das mit Bitboards arbeitet. Einen Screenshot habe ich gerade nicht parat, aber wer sich das Teil ansehen möchte, kann es hier inklusive Quelltext herunterladen.
Manni kann die Fenster anderer Windows-Programme manipulieren, und zwar auf ganz bestimmte Weise. Er kann
- die Titelzeilen ändern.
- das Programm im Hintergrund bedienbar machen, so daß gewisse Überprüfungs-Programme keinen Taskwechsel mehr feststellen können.
- das Programm permanent in den Vordergrund holen, sein Fenster also über allen anderen schweben lassen.
- all diese Sachen auch in beliebiger Kombination erledigen.
Herunterladen: manni.zip (205 KByte)
Sourcecode dazu (Borland C-Builder): manni_src.zip (6 KByte)
Der UCI-Obfuscator maskiert alles, was eine UCI-Schachengine zur GUI sendet, also sämtliche Startstrings, aber auch Knotenzahl, Bewertung usw. Dazu gehört ein Konfigurator, der über eine grafische Oberfläche die nötigen Einstellungen ermöglicht. Eine Anleitung liegt bei.
Herunterladen: uci_obfus.zip (545 KByte)
Auch der Zukacker entstand, weil ich für einen Artikel ein Testprogramm brauchte. Er belegt Speicher, so viel, wie der Anwender möchte, maximal jedoch so viel, wie gerade frei ist. Weil Windows nicht benutzten Speicher aber schnell wieder freiswappt, greift der Zukacker auf Wunsch regelmäßig auf den von ihm belegten Speicher zu, um Auslagern zu verhindern.
Herunterladen: zukacker.zip (170 KByte)
Sourcecode dazu (Borland C-Builder): zukacker_src.zip (6 KByte)
Der Dreher ist ganz bestimmt das sinnloseste Programm, das jemals jemand von mir haben wollte. Der Dreher erzeugt aus einer Originaldatei eine andere Datei, welche sämtliche Bytes in umgekehrter Reihenfolge enthält. Es ist, als würde man die Datei „von hinten“ lesen. Kann man an jeder Textdatei ausprobieren. Auf Wunsch dreht der Dreher die Datei auch bitweise, in jedem Byte werden also sämtliche Bits auch noch getauscht, das achte Bit wird zum ersten, das siebte zum zweiten usw. Das hat natürlich nur bei Binärdateien Sinn. Wenn es denn überhaupt Sinn hat – irgend jemand wollte mal so ein Programm von mir, und ich habe ihm den Gefallen getan. Wofür? Ich habe keine Ahnung ...
Herunterladen: dreher.zip (180 KByte)
Sourcecode dazu (Borland C-Builder): dreher_src.zip(5 KByte)
Der Replacer kann in einer Textdatei zeilenweise Ersetzungen vornehmen. Er geht dabei auf Wunsch rekursiv vor, legt Backups an und zeigt vorher an, welche Dateien er ändern möchte, und hinterher, welche er geändert hat. Filter und Pfade merkt er sich, und sonst tut er nix.
![]() |
![]() |
Zur Sicherheit nochmal ganz langsam: Das Teil arbeitet zeilenorientiert, wird also keine Fragmente finden. Nur wenn es alle Zeilen eines zu ersetzenden Blocks exakt so findet, funktioniert es. Der Cursor sollte also zum Beispiel immer hinter dem letzten Zeichen der letzten Zeile stehen, denn eine zusätzliche Zeile ohne Inhalt würde als Leerzeile interpretiert.
Herunterladen: replacer.zip (243 KByte)
Der FTP-Trigger lädt eine oder mehrere Datei(en) in regelmäßigen Intervallen per File Transfer Protocol auf einen Internet-Server hoch. Das ergibt natürlich nur Sinn, wenn die Dateien sich regelmäßig ändern. Entstanden ist das Programm, um lokal gespielte Schachpartien live im Internet zu übertragen. Dabei läuft auf dem Server ein Java-Viewer, der eine Schachpartie anzeigen kann, während der FTP-Trigger dafür sorgt, daß die Partien immer aktualisiert werden, wenn ein Zug geschehen ist. Möglicherweise gibt es noch andere Anwendungen für den FTP-Trigger, wer weiß schon, was den Leuten so einfällt? Ich hoffe, es funktioniert alles, den Quelltext habe ich nämlich verschlampt, so daß keine änderungen mehr möglich sind.
WICHTIG: Es gibt einen Bug. Auf einem Mehrprozessor-Rechner muß der FTP-Trigger an einen physischen Kern gebunden werden, sonst stürzt er ab.
Herunterladen: ftptrigger.zip (255 KByte)

