STAGE13 むずかしいステージ

想定解法


長いので分割しています

ステージの狙い

難しいステージを作ろうと思って、ループ文で解けない再帰関数を使うステージを想定して、それとテレポートを組み合わせたものとなりました。

大筋はSTAGE10と同じ感じなんですが、もう一つ再帰ではない関数やテレポート処理を入れる必要があるなど、これまでのステージに出てきた要素を使うステージとなっています。
想定解法の擬似コードは

def 1():
    前に1マス動く
    前に1マス動く
    右を向く
    前に1マス動く
    前に1マス動く
    左を向く
def group1():
    if 前が道:
        1()
        group1()
    else:
        右を向く
    1()
    if 黒い魔法陣にいる:
        同じマークの場所にテレポートする

group1()
前に1マス動く
前に1マス動く

となります。ただし、本来なら1()という関数は作れないので実際にプログラミングをするときは注意が必要です。