とりあえず作ってみた。ドラゴン曲線。

東方算程譚:dragon-curve
野暮ったいことは抜きにして言葉のままコードにしてみました。


[Visual basic]


Imports System


Public Class ドラゴン曲線



  Public Function 作る(ByVal 折り曲げる回数 As IntegerAs String

    Dim 出来上がったドラゴン曲線 As String = String.Empty

    For i As Integer = 0 To 折り曲げる回数 - 1

      出来上がったドラゴン曲線 = 折り曲げる(出来上がったドラゴン曲線)

    Next

    Return 出来上がったドラゴン曲線

  End Function


  Private Function 折り曲げる(ByVal 今の状態 As StringAs String

    Dim 折り曲げた後 As String = String.Empty

    If 今の状態 = String.Empty Then

      ' 最初は左に折るよ。
      折り曲げた後 = "L"

    Else

      Dim 今の状態の逆順 As String = String.Empty

      For i As Integer = 今の状態.Length - 1 To 0 Step -1

        今の状態の逆順 &= 今の状態.Substring(i, 1)

      Next

      折り曲げた後 = 今の状態 & "L"

      For i As Integer = 0 To 今の状態の逆順.Length - 1

        If 今の状態の逆順.Substring(i, 1) = "L" Then

          折り曲げた後 &= "R"

        Else

          折り曲げた後 &= "L"

        End If

      Next

    End If

    Return 折り曲げた後

  End Function


End Class

今宵が楽しみですなぁ♪