Schau, die äußere Schleife mit "merker" wird soundooft durchlaufen.
jedesmal fährt er auf jeden Fall mal gerade aus, dann die innere For-Schleife
In dieser Schleife wird "merker" nicht verändert, also macht er 1 -> variablemax das Gleiche, also rechts90 oder links90 oder eventuell garnix, je nachdem, was in "linksrechts(merker)" halt steht.

Zum "debuggen" mußt du sicherstellen, was VOR dem ersten "For" in den ganzen Variablen drinsteht und auch in dem linksrechts-Array

Und dann geh deine Routine mit dem Zeigefinger und ev. einem Bleistifft durch. Der Bascom-Simulator kann da gut helfen.