Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
sweet little circuit game space maker
#1
Sets up a board with no dead end tracks, might be used for race track or city roads layout or just nice designs.

Code: (Select All)
Option _Explicit
_Title "Little game Circuit game space" 'b+ 2024-02-18
Randomize Timer
Dim Shared SW, SH: SW = 800: SH = 600
Screen _NewImage(SW, SH, 32)
_ScreenMove 200, 60
Dim As Long UbX, UbY, cx, cy, lastTarget, targets, tx, ty, dx, dy
UbX = 80: UbY = 60 ' the max width and height of board cells
Do ' test board layouts
    Cls: ReDim board$(1 To UbX, 1 To UbY) 'resets
    cx = UbX \ 2: cy = UbY \ 2: lastTarget = 30
    For targets = 1 To lastTarget
        tryAgain: ' to avoid dead end streets
        If targets <> lastTarget Then ' stay off the edges
            tx = 2 * Int((Rnd * (UbX - 3) \ 2)) + 2: ty = 2 * Int(Rnd * (UbY - 3) \ 2) + 2
        Else
            tx = UbX \ 2: ty = UbY \ 2
        End If
        If tx = cx Or ty = cy Then GoTo tryAgain ' to avoid dead end streets
        dx = tx - cx: dy = ty - cy ' the distance and direction we have to go
        While cx <> tx: cx = cx + Sgn(dx): GoSub MakeWay: Wend
        While cy <> ty: cy = cy + Sgn(dy): GoSub MakeWay: Wend
    Next
    Sleep
Loop Until _KeyDown(27)
End
MakeWay: board$(cx, cy) = "S": Line ((cx - 1) * 10, (cy - 1) * 10)-Step(9, 9), , BF: Return

Sample board$()
   
b = b + ...
Reply
#2
(02-18-2024, 08:34 PM)bplus Wrote: Sets up a board with no dead end tracks, might be used for race track or city roads layout or just nice designs.

Code: (Select All)
Option _Explicit
_Title "Little game Circuit game space" 'b+ 2024-02-18
Randomize Timer
Dim Shared SW, SH: SW = 800: SH = 600
Screen _NewImage(SW, SH, 32)
_ScreenMove 200, 60
Dim As Long UbX, UbY, cx, cy, lastTarget, targets, tx, ty, dx, dy
UbX = 80: UbY = 60 ' the max width and height of board cells
Do ' test board layouts
    Cls: ReDim board$(1 To UbX, 1 To UbY) 'resets
    cx = UbX \ 2: cy = UbY \ 2: lastTarget = 30
    For targets = 1 To lastTarget
        tryAgain: ' to avoid dead end streets
        If targets <> lastTarget Then ' stay off the edges
            tx = 2 * Int((Rnd * (UbX - 3) \ 2)) + 2: ty = 2 * Int(Rnd * (UbY - 3) \ 2) + 2
        Else
            tx = UbX \ 2: ty = UbY \ 2
        End If
        If tx = cx Or ty = cy Then GoTo tryAgain ' to avoid dead end streets
        dx = tx - cx: dy = ty - cy ' the distance and direction we have to go
        While cx <> tx: cx = cx + Sgn(dx): GoSub MakeWay: Wend
        While cy <> ty: cy = cy + Sgn(dy): GoSub MakeWay: Wend
    Next
    Sleep
Loop Until _KeyDown(27)
End
MakeWay: board$(cx, cy) = "S": Line ((cx - 1) * 10, (cy - 1) * 10)-Step(9, 9), , BF: Return

Nice one!

If I may, I'd like to  use this as a starter for a train game or similar (yes, I know it's been done, but it should be a good exercise).
Of all the places on Earth, and all the planets in the Universe, I'd rather live here (Perth, W.A.) Big Grin
Please visit my Website at: http://oldendayskids.blogspot.com/
Reply
#3
Quote:If I may, I'd like to use this as a starter for a train game or similar (yes, I know it's been done, but it should be a good exercise).

+1 Absolutely, this is starter code to lay the tracks so to speak to who knows what app?

Would you believe I don't know of a train game. I look forward to seeing what you can do with this, thanks.

Oh wait I do know of the Peace Train:
Code: (Select All)
_Title "Peace Train" 'from old post 2019-03-24 mod B+ 2019-03-26



'      play this: https://www.youtube.com/watch?v=UkTQri3a4Gg



Randomize Timer
Screen _NewImage(800, 600, 32)
_ScreenMove 200, 20

'background B+ mod
Dim Shared scape&
LoadLandscape
scapeWidth = _Width(scape&)
scapeHeight = _Height(scape&)
'PRINT scapeWidth, scapeHeight

'train stuff Code Hunter and Fellippe?
Dim temp As String
Dim Shared Pattern As String

Dim Shared Train(7, 10) As String
Dim Shared Coal(10) As String

Dim Smoke1 As String
Dim Smoke2 As String
Dim Smoke3 As String
Dim Smoke4 As String
Smoke1 = Space$(16) + "@@@@"
Smoke2 = Space$(16) + "          @ @ "
Smoke3 = Space$(16) + "    @@     @@     @     @     @    "
Smoke4 = Space$(16) + "       @@     @@     @     @     @ "
LoadTrain
col = 1
row = 7
p = 6

le = scapeWidth - 800
While 1
    Cls

    '    background stuff
    If le + 800 > scapeWidth Then
        te = scapeWidth - le
        _PutImage (0, 0)-(te, scapeHeight), scape&, 0, (scapeWidth - te, 0)-(scapeWidth, scapeHeight)
        _PutImage (te, 0)-(800, scapeHeight), scape&, 0, (0, 0)-(800 - te, scapeHeight)
    Else
        _PutImage (0, 0)-(800, scapeHeight), scape&, 0, (le, 0)-(le + 800, scapeHeight)
    End If
    '_PRINTSTRING (5, 5), STR$(le)
    le = le - 1
    If le < 0 Then le = scapeWidth


    'train stuff
    Color _RGBA32(255, 255, 255, 200), _RGBA32(0, 0, 0, 0)
    For j = 0 To 9
        '_PRINTSTRING (0, 16 * j + 112), MID$(Train(p, j + 1), i, 80)
        _PrintString (64, 16 * j + 442), Mid$(Train(p, j + 1), 1, 84)
    Next
    'If i < Len(Smoke4) Then
    '    If fcount Mod 30 < 15 Then
    '        _PrintString (0, 96 + 300), Mid$(Smoke1, i, 80)
    '        _PrintString (0, 64 + 300), Space$(8) + Mid$(Smoke1, i, 80)
    '        _PrintString (0, 32 + 300), Space$(24) + Mid$(Smoke3, i, 80)
    '    Else
    '        _PrintString (0, 80 + 280), Space$(4) + Mid$(Smoke1, i, 80)
    '        _PrintString (0, 48 + 280), Space$(12) + Mid$(Smoke2, i, 80)
    '        _PrintString (0, 32 + 280), Space$(24) + Mid$(Smoke4, i, 80)
    '    End If
    'End If

    fcount = fcount + 1
    If fcount = 60 Then fcount = 0
    If fcount Mod 6 = 0 Then
        col = col + 1: i = i + 1
        If col = Len(Pattern) + 1 Then col = 1
        If i > Len(Train(1, 1)) - 80 Then i = 1
        p = Val(Mid$(Pattern, col, 1))
    End If
    peace 167, 579, 18, a
    peace 215, 579, 18, a + _Pi / 2
    peace 263, 579, 18, a + _Pi
    peace 311, 579, 18, a + _Pi * 1.5

    peace 530, 591, 6, a + _Pi * .25
    peace 578, 591, 6, a + _Pi * .75
    peace 634, 591, 6, a + _Pi * 1.25
    peace 682, 591, 6, a + _Pi * 1.75

    peace 90, 585, 12, a + _Pi * .66
    peace 386, 585, 12, a + _Pi * 1.66

    peace 128, 419, 12, -a + _Pi * .1
    peace 175, 386, 10, -a - _Pi * .3
    peace 281, 351, 9, -a + _Pi * .5
    peace 328, 321, 10, -a + _Pi * .7
    peace 401, 318, 7, -a + _Pi * .9
    peace 477, 307, 9, -a + _Pi * 1.1
    peace 562, 317, 6, -a + _Pi * 1.5

    a = a - _Pi / 36
    For i = 1 To 5
        peace 608, 518, 28, 0
    Next

    _Display
    _Limit 90 '<<< EDIT
Wend

Sub LoadLandscape
    cur& = _Dest
    xmax = 800 * 6: ymax = 600
    scape& = _NewImage(xmax, ymax, 32)
    _Dest scape&

    For i = 0 To ymax
        midInk 0, 0, 128, 128, 128, 200, i / ymax
        Line (0, i)-(xmax, i)
    Next
    'the land
    startH = ymax - 200
    rr = 70: gg = 70: bb = 90
    For mountain = 1 To 6
        Xright = 0
        y = startH
        Color _RGB(rr, gg, bb)
        While Xright < xmax - 50
            ' upDown = local up / down over range, change along Y
            ' range = how far up / down, along X
            upDown = (Rnd * .8 - .4) * (mountain * .5)
            range = Xright + rand%(15, 25) * 2.5 / mountain
            If range > xmax - 50 Then range = xmax - 50
            lastx = Xright - 1
            For x = Xright To range
                test = y + upDown
                If Abs(test - startH) < .1 * startH Then y = test
                Line (lastx, y)-(x, ymax), , BF 'just lines weren't filling right
                lastx = x
            Next
            Xright = range
        Wend
        x = lastx + 1
        While x <= xmax
            y = y + (startH - y) / 40
            Line (lastx, y)-(x, ymax), , BF 'just lines weren't filling right
            lastx = x
            x = x + 1
        Wend
        rr = rand%(rr - 15, rr): gg = rand%(gg - 15, gg): bb = rand%(bb - 25, bb)
        If rr < 0 Then rr = 0
        If gg < 0 Then gg = 0
        If bb < 0 Then bb = 0
        startH = startH + rand%(5, 20)
    Next
    _Dest cur&
End Sub

Function rand% (lo%, hi%)
    rand% = Int(Rnd * (hi% - lo% + 1)) + lo%
End Function

Sub midInk (r1%, g1%, b1%, r2%, g2%, b2%, fr##)
    Color _RGB(r1% + (r2% - r1%) * fr##, g1% + (g2% - g1%) * fr##, b1% + (b2% - b1%) * fr##)
End Sub

Sub LoadTrain
    Dim t As String

    For j = 1 To 10
        Read t: Coal(j) = t
    Next

    For i = 1 To 6
        For j = 1 To 10
            Read t: Train(i, j) = t + Coal(j)
        Next
    Next

    For i = 1 To Len(t)
        ' Reverse: "312465"
        t = Mid$("564213", i, 1)
        Pattern = Pattern + t + t
    Next
    Exit Sub

    Data "                             "
    Data "                             "
    Data "    _________________        "
    Data "   _|                \_____A "
    Data " =|                        | "
    Data " -|                        | "
    Data "__|________________________|_"
    Data "|__________________________|_"
    Data "   |_D__D__D_|  |_D__D__D_|  "
    Data "    \_/   \_/    \_/   \_/   "

    Data "      ====        ________                ___________"
    Data "  _D _|  |_______/        \__I_I_____===__|_________|"
    Data "   |(_)---  |   H\________/ |   |        =|___ ___|  "
    Data "   /     |  |   H  |  |     |   |         ||_| |_||  "
    Data "  |      |  |   H  |__--------------------| [___] |  "
    Data "  | ________|___H__/__|_____/[][]~\_______|       |  "
    Data "  |/ |   |-----------I_____I [][] []  D   |=======|__"
    Data "__/ =| o |=-O=====O=====O=====O \ ____Y___________|__"
    Data " |/-=|___|=    ||    ||    ||    |_____/~\___/       "
    Data "  \_/      \__/  \__/  \__/  \__/      \_/           "

    Data "      ====        ________                ___________"
    Data "  _D _|  |_______/        \__I_I_____===__|_________|"
    Data "   |(_)---  |   H\________/ |   |        =|___ ___|  "
    Data "   /     |  |   H  |  |     |   |         ||_| |_||  "
    Data "  |      |  |   H  |__--------------------| [___] |  "
    Data "  | ________|___H__/__|_____/[][]~\_______|       |  "
    Data "  |/ |   |-----------I_____I [][] []  D   |=======|__"
    Data "__/ =| o |=-~O=====O=====O=====O\ ____Y___________|__"
    Data " |/-=|___|=    ||    ||    ||    |_____/~\___/       "
    Data "  \_/      \__/  \__/  \__/  \__/      \_/           "

    Data "      ====        ________                ___________"
    Data "  _D _|  |_______/        \__I_I_____===__|_________|"
    Data "   |(_)---  |   H\________/ |   |        =|___ ___|  "
    Data "   /     |  |   H  |  |     |   |         ||_| |_||  "
    Data "  |      |  |   H  |__--------------------| [___] |  "
    Data "  | ________|___H__/__|_____/[][]~\_______|       |  "
    Data "  |/ |   |-----------I_____I [][] []  D   |=======|__"
    Data "__/ =| o |=-~~\  /~~\  /~~\  /~~\ ____Y___________|__"
    Data " |/-=|___|=O=====O=====O=====O   |_____/~\___/       "
    Data "  \_/      \__/  \__/  \__/  \__/      \_/           "

    Data "      ====        ________                ___________"
    Data "  _D _|  |_______/        \__I_I_____===__|_________|"
    Data "   |(_)---  |   H\________/ |   |        =|___ ___|  "
    Data "   /     |  |   H  |  |     |   |         ||_| |_||  "
    Data "  |      |  |   H  |__--------------------| [___] |  "
    Data "  | ________|___H__/__|_____/[][]~\_______|       |  "
    Data "  |/ |   |-----------I_____I [][] []  D   |=======|__"
    Data "__/ =| o |=-~~\  /~~\  /~~\  /~~\ ____Y___________|__"
    Data " |/-=|___|=   O=====O=====O=====O|_____/~\___/       "
    Data "  \_/      \__/  \__/  \__/  \__/      \_/           "

    Data "      ====        ________                ___________"
    Data "  _D _|  |_______/        \__I_I_____===__|_________|"
    Data "   |(_)---  |   H\________/ |   |        =|___ ___|  "
    Data "   /     |  |   H  |  |     |   |         ||_| |_||  "
    Data "  |      |  |   H  |__--------------------| [___] |  "
    Data "  | ________|___H__/__|_____/[][]~\_______|       |  "
    Data "  |/ |   |-----------I_____I [][] []  D   |=======|__"
    Data "__/ =| o |=-~~\  /~~\  /~~\  /~~\ ____Y___________|__"
    Data " |/-=|___|=    ||    ||    ||    |_____/~\___/       "
    Data "  \_/      \O=====O=====O=====O_/      \_/           "

    Data "      ====        ________                ___________"
    Data "  _D _|  |_______/        \__I_I_____===__|_________|"
    Data "   |(_)---  |   H\________/ |   |        =|___ ___|  "
    Data "   /     |  |   H  |  |     |   |         ||_| |_||  "
    Data "  |      |  |   H  |__--------------------| [___] |  "
    Data "  | ________|___H__/__|_____/[][]~\_______|       |  "
    Data "  |/ |   |-----------I_____I [][] []  D   |=======|__"
    Data "__/ =| o |=-~~\  /~~\  /~~\  /~~\ ____Y___________|__"
    Data " |/-=|___|=    ||    ||    ||    |_____/~\___/       "
    Data "  \_/      \_O=====O=====O=====O/      \_/           "
End Sub

Sub lyne (x0, y0, lngth, ra, thic, c As _Unsigned Long)
    Dim x As Integer, y As Integer, l As Integer
    While l < lngth
        l = l + 1: x = x0 + l * Cos(ra): y = y0 + l * Sin(ra)
        For radius = 0 To thic / 2
            Circle (x, y), radius, c, BF
        Next
    Wend
End Sub

Sub peace (x0, y0, r, raRot) ' 12 is about smallest
    thic = r / 5.5
    For rr = r - thic To r Step 1
        Circle (x0, y0), rr
    Next
    lyne x0, y0, r - .5 * thic, _Pi * 1.5 + raRot, thic, &H11FFFFFF
    lyne x0, y0, r - .5 * thic, _Pi * .5 + raRot, thic, &H11FFFFFF
    lyne x0, y0, r - .5 * thic, _Pi * .25 + raRot, thic, &H11FFFFFF
    lyne x0, y0, r - .5 * thic, _Pi * .75 + raRot, thic, &H11FFFFFF
End Sub
b = b + ...
Reply
#4
(02-19-2024, 12:34 AM)bplus Wrote:
Quote:If I may, I'd like to  use this as a starter for a train game or similar (yes, I know it's been done, but it should be a good exercise).

+1 Absolutely, this is starter code to lay the tracks so to speak to who knows what app?

Would you believe I don't know of a train game. I look forward to seeing what you can do with this, thanks.

Oh wait I do know of the Peace Train:
Code: (Select All)
_Title "Peace Train" 'from old post 2019-03-24 mod B+ 2019-03-26



'      play this: https://www.youtube.com/watch?v=UkTQri3a4Gg



Randomize Timer
Screen _NewImage(800, 600, 32)
_ScreenMove 200, 20

'background B+ mod
Dim Shared scape&
LoadLandscape
scapeWidth = _Width(scape&)
scapeHeight = _Height(scape&)
'PRINT scapeWidth, scapeHeight

'train stuff Code Hunter and Fellippe?
Dim temp As String
Dim Shared Pattern As String

Dim Shared Train(7, 10) As String
Dim Shared Coal(10) As String

Dim Smoke1 As String
Dim Smoke2 As String
Dim Smoke3 As String
Dim Smoke4 As String
Smoke1 = Space$(16) + "@@@@"
Smoke2 = Space$(16) + "          @ @ "
Smoke3 = Space$(16) + "    @@     @@     @     @     @    "
Smoke4 = Space$(16) + "       @@     @@     @     @     @ "
LoadTrain
col = 1
row = 7
p = 6

le = scapeWidth - 800
While 1
    Cls

    '    background stuff
    If le + 800 > scapeWidth Then
        te = scapeWidth - le
        _PutImage (0, 0)-(te, scapeHeight), scape&, 0, (scapeWidth - te, 0)-(scapeWidth, scapeHeight)
        _PutImage (te, 0)-(800, scapeHeight), scape&, 0, (0, 0)-(800 - te, scapeHeight)
    Else
        _PutImage (0, 0)-(800, scapeHeight), scape&, 0, (le, 0)-(le + 800, scapeHeight)
    End If
    '_PRINTSTRING (5, 5), STR$(le)
    le = le - 1
    If le < 0 Then le = scapeWidth


    'train stuff
    Color _RGBA32(255, 255, 255, 200), _RGBA32(0, 0, 0, 0)
    For j = 0 To 9
        '_PRINTSTRING (0, 16 * j + 112), MID$(Train(p, j + 1), i, 80)
        _PrintString (64, 16 * j + 442), Mid$(Train(p, j + 1), 1, 84)
    Next
    'If i < Len(Smoke4) Then
    '    If fcount Mod 30 < 15 Then
    '        _PrintString (0, 96 + 300), Mid$(Smoke1, i, 80)
    '        _PrintString (0, 64 + 300), Space$(8) + Mid$(Smoke1, i, 80)
    '        _PrintString (0, 32 + 300), Space$(24) + Mid$(Smoke3, i, 80)
    '    Else
    '        _PrintString (0, 80 + 280), Space$(4) + Mid$(Smoke1, i, 80)
    '        _PrintString (0, 48 + 280), Space$(12) + Mid$(Smoke2, i, 80)
    '        _PrintString (0, 32 + 280), Space$(24) + Mid$(Smoke4, i, 80)
    '    End If
    'End If

    fcount = fcount + 1
    If fcount = 60 Then fcount = 0
    If fcount Mod 6 = 0 Then
        col = col + 1: i = i + 1
        If col = Len(Pattern) + 1 Then col = 1
        If i > Len(Train(1, 1)) - 80 Then i = 1
        p = Val(Mid$(Pattern, col, 1))
    End If
    peace 167, 579, 18, a
    peace 215, 579, 18, a + _Pi / 2
    peace 263, 579, 18, a + _Pi
    peace 311, 579, 18, a + _Pi * 1.5

    peace 530, 591, 6, a + _Pi * .25
    peace 578, 591, 6, a + _Pi * .75
    peace 634, 591, 6, a + _Pi * 1.25
    peace 682, 591, 6, a + _Pi * 1.75

    peace 90, 585, 12, a + _Pi * .66
    peace 386, 585, 12, a + _Pi * 1.66

    peace 128, 419, 12, -a + _Pi * .1
    peace 175, 386, 10, -a - _Pi * .3
    peace 281, 351, 9, -a + _Pi * .5
    peace 328, 321, 10, -a + _Pi * .7
    peace 401, 318, 7, -a + _Pi * .9
    peace 477, 307, 9, -a + _Pi * 1.1
    peace 562, 317, 6, -a + _Pi * 1.5

    a = a - _Pi / 36
    For i = 1 To 5
        peace 608, 518, 28, 0
    Next

    _Display
    _Limit 90 '<<< EDIT
Wend

Sub LoadLandscape
    cur& = _Dest
    xmax = 800 * 6: ymax = 600
    scape& = _NewImage(xmax, ymax, 32)
    _Dest scape&

    For i = 0 To ymax
        midInk 0, 0, 128, 128, 128, 200, i / ymax
        Line (0, i)-(xmax, i)
    Next
    'the land
    startH = ymax - 200
    rr = 70: gg = 70: bb = 90
    For mountain = 1 To 6
        Xright = 0
        y = startH
        Color _RGB(rr, gg, bb)
        While Xright < xmax - 50
            ' upDown = local up / down over range, change along Y
            ' range = how far up / down, along X
            upDown = (Rnd * .8 - .4) * (mountain * .5)
            range = Xright + rand%(15, 25) * 2.5 / mountain
            If range > xmax - 50 Then range = xmax - 50
            lastx = Xright - 1
            For x = Xright To range
                test = y + upDown
                If Abs(test - startH) < .1 * startH Then y = test
                Line (lastx, y)-(x, ymax), , BF 'just lines weren't filling right
                lastx = x
            Next
            Xright = range
        Wend
        x = lastx + 1
        While x <= xmax
            y = y + (startH - y) / 40
            Line (lastx, y)-(x, ymax), , BF 'just lines weren't filling right
            lastx = x
            x = x + 1
        Wend
        rr = rand%(rr - 15, rr): gg = rand%(gg - 15, gg): bb = rand%(bb - 25, bb)
        If rr < 0 Then rr = 0
        If gg < 0 Then gg = 0
        If bb < 0 Then bb = 0
        startH = startH + rand%(5, 20)
    Next
    _Dest cur&
End Sub

Function rand% (lo%, hi%)
    rand% = Int(Rnd * (hi% - lo% + 1)) + lo%
End Function

Sub midInk (r1%, g1%, b1%, r2%, g2%, b2%, fr##)
    Color _RGB(r1% + (r2% - r1%) * fr##, g1% + (g2% - g1%) * fr##, b1% + (b2% - b1%) * fr##)
End Sub

Sub LoadTrain
    Dim t As String

    For j = 1 To 10
        Read t: Coal(j) = t
    Next

    For i = 1 To 6
        For j = 1 To 10
            Read t: Train(i, j) = t + Coal(j)
        Next
    Next

    For i = 1 To Len(t)
        ' Reverse: "312465"
        t = Mid$("564213", i, 1)
        Pattern = Pattern + t + t
    Next
    Exit Sub

    Data "                             "
    Data "                             "
    Data "    _________________        "
    Data "   _|                \_____A "
    Data " =|                        | "
    Data " -|                        | "
    Data "__|________________________|_"
    Data "|__________________________|_"
    Data "   |_D__D__D_|  |_D__D__D_|  "
    Data "    \_/   \_/    \_/   \_/   "

    Data "      ====        ________                ___________"
    Data "  _D _|  |_______/        \__I_I_____===__|_________|"
    Data "   |(_)---  |   H\________/ |   |        =|___ ___|  "
    Data "   /     |  |   H  |  |     |   |         ||_| |_||  "
    Data "  |      |  |   H  |__--------------------| [___] |  "
    Data "  | ________|___H__/__|_____/[][]~\_______|       |  "
    Data "  |/ |   |-----------I_____I [][] []  D   |=======|__"
    Data "__/ =| o |=-O=====O=====O=====O \ ____Y___________|__"
    Data " |/-=|___|=    ||    ||    ||    |_____/~\___/       "
    Data "  \_/      \__/  \__/  \__/  \__/      \_/           "

    Data "      ====        ________                ___________"
    Data "  _D _|  |_______/        \__I_I_____===__|_________|"
    Data "   |(_)---  |   H\________/ |   |        =|___ ___|  "
    Data "   /     |  |   H  |  |     |   |         ||_| |_||  "
    Data "  |      |  |   H  |__--------------------| [___] |  "
    Data "  | ________|___H__/__|_____/[][]~\_______|       |  "
    Data "  |/ |   |-----------I_____I [][] []  D   |=======|__"
    Data "__/ =| o |=-~O=====O=====O=====O\ ____Y___________|__"
    Data " |/-=|___|=    ||    ||    ||    |_____/~\___/       "
    Data "  \_/      \__/  \__/  \__/  \__/      \_/           "

    Data "      ====        ________                ___________"
    Data "  _D _|  |_______/        \__I_I_____===__|_________|"
    Data "   |(_)---  |   H\________/ |   |        =|___ ___|  "
    Data "   /     |  |   H  |  |     |   |         ||_| |_||  "
    Data "  |      |  |   H  |__--------------------| [___] |  "
    Data "  | ________|___H__/__|_____/[][]~\_______|       |  "
    Data "  |/ |   |-----------I_____I [][] []  D   |=======|__"
    Data "__/ =| o |=-~~\  /~~\  /~~\  /~~\ ____Y___________|__"
    Data " |/-=|___|=O=====O=====O=====O   |_____/~\___/       "
    Data "  \_/      \__/  \__/  \__/  \__/      \_/           "

    Data "      ====        ________                ___________"
    Data "  _D _|  |_______/        \__I_I_____===__|_________|"
    Data "   |(_)---  |   H\________/ |   |        =|___ ___|  "
    Data "   /     |  |   H  |  |     |   |         ||_| |_||  "
    Data "  |      |  |   H  |__--------------------| [___] |  "
    Data "  | ________|___H__/__|_____/[][]~\_______|       |  "
    Data "  |/ |   |-----------I_____I [][] []  D   |=======|__"
    Data "__/ =| o |=-~~\  /~~\  /~~\  /~~\ ____Y___________|__"
    Data " |/-=|___|=   O=====O=====O=====O|_____/~\___/       "
    Data "  \_/      \__/  \__/  \__/  \__/      \_/           "

    Data "      ====        ________                ___________"
    Data "  _D _|  |_______/        \__I_I_____===__|_________|"
    Data "   |(_)---  |   H\________/ |   |        =|___ ___|  "
    Data "   /     |  |   H  |  |     |   |         ||_| |_||  "
    Data "  |      |  |   H  |__--------------------| [___] |  "
    Data "  | ________|___H__/__|_____/[][]~\_______|       |  "
    Data "  |/ |   |-----------I_____I [][] []  D   |=======|__"
    Data "__/ =| o |=-~~\  /~~\  /~~\  /~~\ ____Y___________|__"
    Data " |/-=|___|=    ||    ||    ||    |_____/~\___/       "
    Data "  \_/      \O=====O=====O=====O_/      \_/           "

    Data "      ====        ________                ___________"
    Data "  _D _|  |_______/        \__I_I_____===__|_________|"
    Data "   |(_)---  |   H\________/ |   |        =|___ ___|  "
    Data "   /     |  |   H  |  |     |   |         ||_| |_||  "
    Data "  |      |  |   H  |__--------------------| [___] |  "
    Data "  | ________|___H__/__|_____/[][]~\_______|       |  "
    Data "  |/ |   |-----------I_____I [][] []  D   |=======|__"
    Data "__/ =| o |=-~~\  /~~\  /~~\  /~~\ ____Y___________|__"
    Data " |/-=|___|=    ||    ||    ||    |_____/~\___/       "
    Data "  \_/      \_O=====O=====O=====O/      \_/           "
End Sub

Sub lyne (x0, y0, lngth, ra, thic, c As _Unsigned Long)
    Dim x As Integer, y As Integer, l As Integer
    While l < lngth
        l = l + 1: x = x0 + l * Cos(ra): y = y0 + l * Sin(ra)
        For radius = 0 To thic / 2
            Circle (x, y), radius, c, BF
        Next
    Wend
End Sub

Sub peace (x0, y0, r, raRot) ' 12 is about smallest
    thic = r / 5.5
    For rr = r - thic To r Step 1
        Circle (x0, y0), rr
    Next
    lyne x0, y0, r - .5 * thic, _Pi * 1.5 + raRot, thic, &H11FFFFFF
    lyne x0, y0, r - .5 * thic, _Pi * .5 + raRot, thic, &H11FFFFFF
    lyne x0, y0, r - .5 * thic, _Pi * .25 + raRot, thic, &H11FFFFFF
    lyne x0, y0, r - .5 * thic, _Pi * .75 + raRot, thic, &H11FFFFFF
End Sub

Thank you. And thanks for the link to Peace Train - a great song that's more relevant than ever these days!
Now, to work...
Of all the places on Earth, and all the planets in the Universe, I'd rather live here (Perth, W.A.) Big Grin
Please visit my Website at: http://oldendayskids.blogspot.com/
Reply




Users browsing this thread: 2 Guest(s)