'Importsステートメントで名前空間の参照を簡単にします。
Imports System.Drawing
Imports System.Windows.Forms
Imports Wakaba

Module Game

    'オブジェクト変数を宣言します。
    Private w As Wakaba.Helper

    Sub Main()

        Try
            'オブジェクト変数をインスタンス化します。
            w = New Wakaba.Helper

            '若葉ヘルパーを初期化します。
            w.Initialize()

            '背景用スプライトを設定する
            w.SpriteCreate("背景用", My.Resources.wall, Helper.TransparentColor.None)
            w.SpritePosition("背景用", 1, 0, 0)
            w.SpriteShow("背景用")

            '描画用スプライトを設定する
            w.SpriteCreate("描画用", 640, 480)
            w.SpritePosition("描画用", 0, 0, 0)
            w.SpriteShow("描画用")

            'ウィンドウを閉じるまで画面を更新します。
            Do
                '乱数のシード値を設定します。
                Dim objRnd As New Random(DateTime.Now.Millisecond)

                'スプライトをロックしてビットマップオブジェクトを取得します。
                Dim objBmp As Bitmap = w.SpriteLock("描画用")
                Dim objGrp As Graphics = Graphics.FromImage(objBmp)
                For i As Integer = 0 To 49

                    'GDI+で線をランダムに描画します。
                    Dim objPen As New Pen(Color.FromArgb(objRnd.[Next](256), objRnd.[Next](256), objRnd.[Next](256)), 4)
                    objGrp.DrawLine(objPen, objRnd.[Next](640), objRnd.[Next](480), objRnd.[Next](640), objRnd.[Next](480))
                    objPen.Dispose()
                Next

                objGrp.Dispose()
                'スプライトをアンロックします。
                w.SpriteUnlock("描画用", objBmp)
                For j As Byte = 0 To 254

                    'スプライトを回転させます。
                    If w.WindowClosing Then
                        Exit For
                    End If
                    w.SpriteRotation("描画用", j)
                    w.SpriteTransparent("描画用", CByte((255 - j)))
                    w.ScreenRefresh(True)
                Next

                'スプライトを透明で塗りつぶします。

                w.SpriteFillColor("描画用")

            Loop While Not w.WindowClosing

        Catch ex As Exception

            'エラーメッセージを表示します。
            MessageBox.Show(ex.Message & ex.StackTrace)

        End Try

        '若葉ヘルパーのオブジェクトを破棄します。
        w.Dispose()

    End Sub

End Module