とりあえず作ってみた。ドラゴン曲線。
東方算程譚:dragon-curve
野暮ったいことは抜きにして言葉のままコードにしてみました。
今宵が楽しみですなぁ♪
[Visual basic]
Imports System
Public Class ドラゴン曲線
Public Function 作る(ByVal 折り曲げる回数 As Integer) As String
Dim 出来上がったドラゴン曲線 As String = String.Empty
For i As Integer = 0 To 折り曲げる回数 - 1
出来上がったドラゴン曲線 = 折り曲げる(出来上がったドラゴン曲線)
Next
Return 出来上がったドラゴン曲線
End Function
Private Function 折り曲げる(ByVal 今の状態 As String) As 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