tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。