Mallard-Basic gegen Visual-Basic
|
Das Programm mit dem phantasievollen Namen Polyominoes für den
PCW wurde vor 5 - 6 Jahren von Ed Oakeley für einen Freund geschrieben;
auf einem - wie er sagt !!! - alten Amstrad PCW. Nun war ich (= wnb) Mitte
August letzten Jahres (!!!) im Internet auf der Suche nach 'Futter für
den JOYCE' und stieß dabei auf Ed's Homepage, auf der er dieses
skurrile JOYCE-Programm vorstellte. Via elektronischer Post (= eMail)
nahm ich Kontakt zu Ed auf und mittlerweile ist Ed Mitglied unserer Arbeitsgemeinschaft;
er hat uns auch gleich sein Progy für den Klub zur Verfügung
stellte. Ein kleinen Haken hat die ganze Sache natürlich: Ed ist
Engländer und bediente sich seiner Muttersprache, als er nachfolgende
Anleitung zu seinem Progy verfaßte. Alois Festini war so freundlich,
den Text für uns zu übersetzen und das Progy zu testen:
|
Die Grundidee ist ganz einfach: Wie
viele verschieden Formen kann man von einer vorgegebenen Anzahl von Quadraten
(Vierecken) machen, wobei es nur erlaubt sein sollte, daß sie sich
nur an den Kanten berühren (z.B. kann eine Ecke kein Ort des alleinigen
Kontakts sein). Jedes Spiegelbild oder jede Drehung darf nicht gezählt
werden, da sie dieselbe Form haben, nur irgendwie im Raum bewegt.
|
Nach 1, 2 und 3 Quadraten steigt die Anzahl an Mustern dramatisch an,
einige können recht nett aussehen. |
Der Amstrad PCW ist ein kurioses Tier, da Mallard Basic (der kostenlose
Basic-Interpreter ist damit ausgerüstet) einige sehr starke Routinen
besitzt, um indizierte Datenbanken zu schreiben. Der Autor (= Ed Oakeley)
mußte erkennen, daß die Anzahl von Kombinationen ganz schön
zunahm, und jenseits von 11 Quadraten bekam er erste Probleme: 1. Mit
der Geschwindigkeit (JOYCE ist nun 'mal nicht der schnellste) und 2. Mit
dem Speicherplatz auf der Diskette - beschränkt auf rund 700 kB,
sofern man keine Festplatte hat.
|
Die anfängliche (ziemlich dürftige)
Lösung war, einen CP/M-Emulator für einen 486dx4-100 PC zu bekommen
und das Amstrad-Programm hierunter laufen zu lassen. Dies funktionierte,
aber es war immer noch schrecklich langsam, denn der Emulator schien hartnäckig
nicht nur die Befehle abzuarbeiten, sondern auch die Geschwindigkeit des
Z80-Programms. Inzwischen hat der Autor das Programm nach 'Visual Basic'
übertragen, und es läuft etwas schneller, aber es sind ein paar
unerwartete Fehler aufgetreten; veranlaßt dadurch, daß das Micosoft-Access-Datenbank-Format
weniger flexibel (!) ist als die Jetsam-Datenverwal-tung unter Mallard Basic.
ÄSchmunzelsanmerkung wnb: JOYCE schlägt wieder einmal den PC !Ü
Das Hauptproblem ist, daß es Schwierigkeiten zu haben scheint, mit
Indexen umzugehen, die aus 8-Bit-zeichen gebildet werden. (Der Autor arbeitet
mit allen 256 ASCII-Zeichen, um jede Form zu verschlüsseln und in der
Datenbank unterzubringen. Er arbeitet weiterhin an seinem Programm und möchte
eine Windows Betaversion erstellen). |
Der Grund für das Erarbeiten dieses
Programms liegt darin, daß Ed einem Freund, der nächtelang
vor dem Zeichenpapier saß, zeigen wollte, daß ein Computer
die Muster schneller und genauer erstellen kann (es funktioniert - beim
normalen PCW 8512 allerdings nur bis zu 11 Quadraten).
|
Programm-Test: Alois Tests haben ergeben, daß die Kombinationsmöglichkeiten
so enorm ansteigen, daß lange Zeit vor dem Computer zugebracht werden
muß, um alle Varianten darstellen zu lassen. Alois ermittelte folgende
Werte:
|