タイトル : Re^6: 渦巻き回りの座標移動アルゴリズム 投稿日 : 2010/10/01(Fri) 19:27 投稿者 : 魔界の仮面弁士
No.14950の私のヒントは、琴さんのNo.14948 > あくまで1点ずつ移動したいのであれば、 によるものです。 一方、同投稿にあった > 1,1,2,2,3,3,4,4,…と単純なルールで移動しています。 の方を使うのであれば、たとえばこんな感じ。 Option Explicit Private Sub Form_Load() With Picture1 .AutoRedraw = True .ScaleTop = -6 .ScaleLeft = -6 .ScaleWidth = 12 .ScaleHeight = 12 End With End Sub Private Sub Command1_Click() Dim c As Integer, offset As Integer Picture1.Cls Picture1.PSet (0, 0) c = 0 Do c = Abs(c) + 1 offset = IIf(c Mod 2 = 1, c, -c) Picture1.Line -(Picture1.CurrentX + offset, Picture1.CurrentY) If Abs(Picture1.CurrentX) > 5 Then Exit Do Picture1.Line -(Picture1.CurrentX, Picture1.CurrentY + offset) If Abs(Picture1.CurrentY) > 5 Then Exit Do Loop End Sub |