Eine fiese Eigenheit des MID$ Befehls des C64 Basic’s macht mir Probleme. Der MID$ Befehl soll aus einem String einen Teilstring aus der Mitte heraus nehmen. Dazu wird der String, das Startzeichen und die Länge der herauszunehmenden Zeichenkette angegeben.
Da sie Dungeon-Map in einem String-Array gespeichert ist, benutze ich den Befehl um zu schauen, ob an einer bestimmten Stelle der Karte eine Wand ist, oder nicht. Das Problem ist, das das String-Array, wie in der Informatik üblich, mit dem Index 0 beginnt, der MID$ Befehl allerdings das erste Zeichen des Strings mit 1 angibt. Gibt man als Parameter eine 0 mit, gibt es eine Fehlermeldung.
Da mein Koordinatensystem allerdings bei 0 beginnt, kann ich also nicht einfach die Koordinate angeben um eine Prüfung vorzunehmen, ich muss vorher die Verschiebung um 1 berücksichtigen. Das Programm wird also leider an dieser Stelle etwas komplizierter…
Viel Spaß!