思考があらぬ方向に行って思いついた謎コード
思考があらぬ方向に行って思いついた謎コード
// subroutine mazerandomizelb = *LBottom, *lb1, *lb2, *lb3, *lb4msg = "bottom", "*1", "*2", "*3", "*4"cntPtns = length(lb)goto *LStepMaze // Enter Maze*lb1mes msg(1) : gosub *LStepMaze : return*lb2mes msg(2) : gosub *LStepMaze : return*lb3mes msg(3) : gosub *LStepMaze : return*lb4mes msg(4) : gosub *LStepMaze : return*LBottommes msg(0)assert // 停止return*LStepMazewait 10 // wait 必須 : 停止しない可能性もなくはないgoto lb( (rnd(12) + 1) * 13 \ cntPtns )// @ 参照: http://goo.gl/xUPHk// @ 「リターン先が静的にわからない」状況を簡単に考えようと思った。今は反省している。// @ よく考えたら、リターン先は普通わからないものだった。サブルーチンと呼び出し元は一般的に一体一対応じゃないのだ。// mes で出力された文字列を見ると戻り先がわかる。// @ これは「サブルーチンを監視する」方法の一例