Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Proggies
Since we're trading explosions here's one that a search says I haven't posted yet:

le bombe

le bombe

Code: (Select All)
'Option _Explicit  'edit for QBJS 2023-09-08
_Title "le bombe"
'QB64 X 64 version 1.2 20180228/86  from git b301f92

'2018-07-28 translated from
'bomb.bas for SmallBASIC 0.12.2 [B+=MGA] 2016-05-09
'from explosion study

Const xmax = 800
Const ymax = 600
Screen _NewImage(xmax, ymax, 32)
'_ScreenMove 360, 60
Const max_particles = 1000
Const gravity = .25
Const air_resistance = .95
Type particle
    x As Single
    y As Single
    dx As Single
    dy As Single
    size As Single
    kolor As Long
    tf As Integer
End Type
Dim Shared dots(max_particles) As particle
Dim As Long i, rounds, loop_count
'main
While Not _KeyDown(27)
    For i = 1 To 100
        NewDot i
    Next
    rounds = 100
    For i = 12 To 0 Step -1
        If _KeyDown(27) Then End
        Cls
        DrawSky
        DrawGround
        DrawBomb
        DrawFuse i
        _Display
        If i = 0 Then _Delay Rnd * 3 Else _Delay .100
    Next
    Line (0, 0)-(xmax, ymax), _RGB32(255, 255, 255), BF
    _Display
    _Delay .02
    For loop_count = 0 To 150
        If _KeyDown(27) Then End
        DrawSky
        DrawGround
        If loop_count < 4 Then
            Color _RGB(64 - 8 * loop_count, 40 - 4 * loop_count, 32 - 4 * loop_count)
            If loop_count < 8 Then fcirc xmax / 2, ymax / 2, 30 * (1 - loop_count * .25)
        End If
        For i = 1 To rounds
            dots(i).x = dots(i).x + dots(i).dx
            dots(i).y = dots(i).y + dots(i).dy
            If Rnd < .2 And rounds > 10 And dots(i).y > ymax / 2 Then dots(i).dx = 0: dots(i).dy = 0
            dots(i).dx = dots(i).dx * air_resistance
            If dots(i).dy <> 0 Then dots(i).dy = air_resistance * dots(i).dy + .4 'air resistance and gravity
            If dots(i).tf Then
                Line (dots(i).x, dots(i).y)-Step(dots(i).size, dots(i).size), dots(i).kolor, BF
            Else
                Color dots(i).kolor
                fcirc dots(i).x, dots(i).y, dots(i).size / 2
            End If
        Next
        If rounds < max_particles Then
            For i = 1 To 100
                NewDot (rounds + i)
            Next
            rounds = rounds + 100
        End If
        Color _RGB32(255, 255, 255), _RGB32(0, 0, 255)
        Locate 1, 1: Print loop_count
        _Display
        _Limit 60
    Next
Wend

Sub NewDot (i)
    Dim angle, r
    angle = _Pi(Rnd * 2)
    dots(i).x = xmax / 2 + Rnd * 30 * Cos(angle)
    dots(i).y = ymax / 2 + Rnd * 30 * Sin(angle)
    r = Rnd 'STxAxTIC recommended for rounder spreads
    dots(i).dx = r * 45 * Cos(angle)
    dots(i).dy = r * 45 * Sin(angle)
    dots(i).size = Rnd * 7
    dots(i).kolor = _RGB32(10 + Rnd * 100, 5 + Rnd * 50, 3 + Rnd * 25)
    dots(i).tf = (Rnd * 2) \ 1
End Sub

Sub DrawSky
    Dim i
    For i = 0 To ymax / 2
        Line (0, i)-Step(xmax, 0), _RGB32(0, 0, 95 * i \ (ymax / 2) + 160)
    Next
End Sub

Sub DrawBomb
    Dim cx, cy, radius, angle, rad_angle, x1, y1
    Dim As Long i
    cx = xmax / 2: cy = ymax / 2 - 70: radius = 10
    For i = 60 To 0 Step -1 'main body
        Color _RGB32(240 - 4 * i, 180 - 3 * i, 120 - 2 * i)
        fcirc cx, ymax / 2, i
    Next

    For angle = 0 To 180 'fuse shaft
        rad_angle = _D2R(angle)
        x1 = cx + radius * Cos(rad_angle)
        y1 = cy + radius * .25 * Sin(rad_angle)
        Line (x1, y1)-Step(0, 20), _RGB32(127 + 127 * Cos(rad_angle), 127 + 127 * Cos(rad_angle), 127 + 127 * Cos(rad_angle))
    Next
    Color _RGB32(0, 0, 0)
    fEllipse cx, cy, radius, .25 * radius
End Sub

Sub DrawFuse (length)
    Dim cx, cy, rn, rad_angle, x1, y1, x2, y2
    Dim As Long i
    cx = xmax / 2: cy = ymax / 2 - 70
    If length <= 0 Then Exit Sub
    Color _RGB32(255, 255, 0)
    Line (cx, cy - (5 + 2 * length))-Step(2, 5), , BF
    fcirc cx, cy - (1 + 2 * length), 2
    rn = (Rnd * 5) \ 1 + 3
    For i = 1 To rn
        rad_angle = _Pi(Rnd) + _Pi
        x1 = cx + 7 * Cos(rad_angle): x2 = cx + 14 * Cos(rad_angle)
        y1 = cy - (1 + 2 * length) + 9 * Sin(rad_angle): y2 = cy - (1 + 2 * length) + (Rnd * 13 + 9) * Sin(rad_angle)
        Line (x1, y1)-(x2, y2), _RGB32(255, 255, 255)
    Next
    For i = 1 To length
        rad_angle = _Pi(Rnd * 2)
        x1 = 3 * Cos(rad_angle)
        y1 = 3 * .25 * Sin(rad_angle)
        Line (cx, cy - 2 * i)-Step(x1, y1), _RGB32(Rnd * 65 + 190, Rnd * 65 + 190, Rnd * 20 + 235), BF
    Next
End Sub

Sub DrawGround
    Dim As Long i
    For i = ymax / 2 To ymax
        Line (0, i)-Step(xmax, 0), _RGB32(0, 160 - 96 * (i - ymax / 2) \ (ymax / 2), 0)
    Next
End Sub

Sub fcirc (CX As Long, CY As Long, R As Long)
    Dim subRadius As Long, RadiusError As Long
    Dim X As Long, Y As Long

    subRadius = Abs(R)
    RadiusError = -subRadius
    X = subRadius
    Y = 0

    If subRadius = 0 Then PSet (CX, CY): Exit Sub

    ' Draw the middle span here so we don't draw it twice in the main loop,
    ' which would be a problem with blending turned on.
    Line (CX - X, CY)-(CX + X, CY), , BF

    While X > Y
        RadiusError = RadiusError + Y * 2 + 1
        If RadiusError >= 0 Then
            If X <> Y + 1 Then
                Line (CX - Y, CY - X)-(CX + Y, CY - X), , BF
                Line (CX - Y, CY + X)-(CX + Y, CY + X), , BF
            End If
            X = X - 1
            RadiusError = RadiusError - X * 2
        End If
        Y = Y + 1
        Line (CX - X, CY - Y)-(CX + X, CY - Y), , BF
        Line (CX - X, CY + Y)-(CX + X, CY + Y), , BF
    Wend
End Sub

Sub fEllipse (CX As Long, CY As Long, xRadius As Long, yRadius As Long)
    Dim scale As Single, x As Long, y As Long
    scale = yRadius / xRadius
    Line (CX, CY - yRadius)-(CX, CY + yRadius), , BF
    For x = 1 To xRadius
        y = scale * Sqr(xRadius * xRadius - x * x)
        Line (CX + x, CY - y)-(CX + x, CY + y), , BF
        Line (CX - x, CY - y)-(CX - x, CY + y), , BF
    Next
End Sub
b = b + ...
Reply


Messages In This Thread
Proggies - by bplus - 04-24-2022, 04:02 PM
RE: Proggies - by bplus - 04-26-2022, 03:23 PM
RE: Proggies - by bplus - 04-26-2022, 04:24 PM
RE: Proggies - by bplus - 05-01-2022, 12:10 AM
RE: Proggies - by dcromley - 05-01-2022, 04:00 AM
RE: Proggies - by bplus - 05-01-2022, 02:52 PM
RE: Proggies - by bplus - 05-01-2022, 02:56 PM
RE: Proggies - by bplus - 05-01-2022, 08:05 PM
RE: Proggies - by bplus - 05-03-2022, 01:43 AM
RE: Proggies - by vince - 05-03-2022, 02:13 AM
RE: Proggies - by bplus - 05-03-2022, 02:16 AM
RE: Proggies - by bplus - 05-08-2022, 02:13 AM
RE: Proggies - by OldMoses - 05-08-2022, 12:40 PM
RE: Proggies - by bplus - 05-08-2022, 03:16 PM
RE: Proggies - by bplus - 05-16-2022, 12:21 AM
RE: Proggies - by bplus - 05-16-2022, 12:58 AM
RE: Proggies - by PhilOfPerth - 05-16-2022, 01:40 AM
RE: Proggies - by bplus - 05-16-2022, 01:28 AM
RE: Proggies - by SMcNeill - 05-16-2022, 12:49 PM
RE: Proggies - by bplus - 05-16-2022, 02:44 PM
RE: Proggies - by bplus - 05-17-2022, 11:16 PM
RE: Proggies - by vince - 05-25-2022, 05:08 AM
RE: Proggies - by bplus - 05-17-2022, 11:23 PM
RE: Proggies - by bplus - 05-17-2022, 11:42 PM
RE: Proggies - by bplus - 05-18-2022, 01:14 AM
RE: Proggies - by bplus - 05-19-2022, 06:43 PM
RE: Proggies - by bplus - 05-20-2022, 01:52 AM
RE: Proggies - by SierraKen - 05-20-2022, 03:44 AM
RE: Proggies - by bplus - 05-20-2022, 07:59 PM
RE: Proggies - by bplus - 05-20-2022, 08:34 PM
RE: Proggies - by Dav - 05-21-2022, 12:48 AM
RE: Proggies - by bplus - 05-25-2022, 12:47 AM
RE: Proggies - by bplus - 05-29-2022, 11:32 PM
RE: Proggies - by bplus - 05-30-2022, 01:41 PM
RE: Proggies - by bplus - 06-04-2022, 10:01 PM
RE: Proggies - by triggered - 06-05-2022, 03:44 AM
RE: Proggies - by bplus - 06-05-2022, 03:03 PM
RE: Proggies - by bplus - 06-06-2022, 08:04 PM
RE: Proggies - by bplus - 06-07-2022, 02:18 AM
RE: Proggies - by dbox - 03-03-2023, 09:14 PM
RE: Proggies - by bplus - 06-07-2022, 10:51 AM
RE: Proggies - by SierraKen - 06-09-2022, 07:04 PM
RE: Proggies - by bplus - 06-09-2022, 10:40 PM
RE: Proggies - by bplus - 06-22-2022, 02:59 PM
RE: Proggies - by vince - 06-23-2022, 08:04 PM
RE: Proggies - by SierraKen - 06-24-2022, 06:28 PM
RE: Proggies - by bplus - 07-13-2022, 06:19 PM
RE: Proggies - by bplus - 07-17-2022, 11:38 PM
RE: Proggies - by bplus - 07-19-2022, 07:16 PM
RE: Proggies - by vince - 07-22-2022, 10:40 PM
RE: Proggies - by dbox - 07-23-2022, 12:47 AM
RE: Proggies - by SierraKen - 07-23-2022, 05:16 PM
RE: Proggies - by bplus - 07-24-2022, 04:16 PM
RE: Proggies - by dbox - 07-24-2022, 11:33 PM
RE: Proggies - by SierraKen - 07-24-2022, 11:38 PM
RE: Proggies - by bplus - 09-19-2022, 07:16 PM
RE: Proggies - by bplus - 09-20-2022, 03:42 PM
RE: Proggies - by James D Jarvis - 09-21-2022, 12:22 PM
RE: Proggies - by bplus - 09-21-2022, 02:39 PM
RE: Proggies - by mnrvovrfc - 09-24-2022, 03:25 AM
RE: Proggies - by James D Jarvis - 09-21-2022, 02:55 PM
RE: Proggies - by bplus - 09-21-2022, 03:46 PM
RE: Proggies - by James D Jarvis - 09-21-2022, 05:46 PM
RE: Proggies - by bplus - 09-21-2022, 06:29 PM
RE: Proggies - by bplus - 10-09-2022, 08:17 PM
RE: Proggies - by vince - 10-09-2022, 09:20 PM
RE: Proggies - by bplus - 10-10-2022, 01:52 PM
RE: Proggies - by vince - 10-10-2022, 04:20 PM
RE: Proggies - by bplus - 10-18-2022, 02:54 PM
RE: Proggies - by bplus - 01-16-2023, 03:53 PM
RE: Proggies - by bplus - 01-16-2023, 03:59 PM
RE: Proggies - by bplus - 01-16-2023, 04:05 PM
RE: Proggies - by bplus - 01-16-2023, 04:09 PM
RE: Proggies - by bplus - 01-16-2023, 04:13 PM
RE: Proggies - by bplus - 01-17-2023, 08:18 PM
RE: Proggies - by bplus - 03-06-2023, 07:04 PM
RE: Proggies - by bplus - 03-24-2023, 02:41 AM
RE: Proggies - by vince - 03-24-2023, 05:22 AM
RE: Proggies - by bplus - 03-24-2023, 05:32 AM
RE: Proggies - by mnrvovrfc - 03-24-2023, 05:54 AM
RE: Proggies - by vince - 04-09-2023, 06:49 AM
RE: Proggies - by bplus - 04-09-2023, 03:05 PM
RE: Proggies - by bplus - 07-23-2023, 12:16 PM
RE: Proggies - by GareBear - 07-23-2023, 05:47 PM
RE: Proggies - by bplus - 07-23-2023, 07:35 PM
RE: Proggies - by bplus - 07-24-2023, 07:04 PM
RE: Proggies - by bplus - 07-24-2023, 07:09 PM
RE: Proggies - by bplus - 08-17-2023, 07:17 AM
RE: Proggies - by johnno56 - 08-17-2023, 10:32 AM
RE: Proggies - by bplus - 08-28-2023, 03:24 PM
RE: Proggies - by Dav - 08-28-2023, 05:28 PM
RE: Proggies - by PhilOfPerth - 08-28-2023, 11:47 PM
RE: Proggies - by johnno56 - 08-29-2023, 07:11 AM
RE: Proggies - by bplus - 08-29-2023, 12:39 PM
RE: Proggies - by bplus - 09-03-2023, 02:47 PM
RE: Proggies - by vince - 09-03-2023, 11:10 PM
RE: Proggies - by SMcNeill - 09-03-2023, 05:22 PM
RE: Proggies - by bplus - 09-03-2023, 05:41 PM
RE: Proggies - by bplus - 09-03-2023, 05:47 PM
RE: Proggies - by bplus - 09-03-2023, 11:21 PM
RE: Proggies - by Dav - 09-04-2023, 01:00 AM
RE: Proggies - by grymmjack - 09-06-2023, 12:14 AM
RE: Proggies - by bplus - 09-04-2023, 01:45 AM
RE: Proggies - by mrbcx - 09-05-2023, 03:22 AM
RE: Proggies - by bplus - 09-05-2023, 12:35 PM
RE: Proggies - by bplus - 09-08-2023, 10:24 PM
RE: Proggies - by Dav - 09-09-2023, 12:43 AM
RE: Proggies - by bplus - 09-21-2023, 06:42 PM
RE: Proggies - by bplus - 09-27-2023, 03:16 AM
RE: Proggies - by Dav - 10-05-2023, 08:24 PM
RE: Proggies - by bplus - 10-05-2023, 08:49 PM
RE: Proggies - by bplus - 10-08-2023, 02:13 PM
RE: Proggies - by Dav - 10-08-2023, 06:04 PM
RE: Proggies - by Dav - 10-08-2023, 11:56 PM
RE: Proggies - by bplus - 10-09-2023, 12:22 AM
RE: Proggies - by Dav - 10-09-2023, 12:59 AM
RE: Proggies - by PhilOfPerth - 10-09-2023, 05:28 AM
RE: Proggies - by mnrvovrfc - 10-09-2023, 10:58 AM
RE: Proggies - by Dav - 10-09-2023, 12:33 PM
RE: Proggies - by bplus - 10-09-2023, 05:37 PM
RE: Proggies - by Dav - 10-09-2023, 08:56 PM
RE: Proggies - by bplus - 10-09-2023, 09:23 PM
RE: Proggies - by Dav - 10-18-2023, 02:11 PM
RE: Proggies - by bplus - 10-18-2023, 07:40 PM
RE: Proggies - by CharlieJV - 10-19-2023, 02:28 AM
RE: Proggies - by bplus - 10-19-2023, 01:48 PM
RE: Proggies - by dbox - 10-19-2023, 02:16 PM
RE: Proggies - by dbox - 10-19-2023, 04:07 PM
RE: Proggies - by bplus - 10-19-2023, 05:23 PM
RE: Proggies - by bplus - 10-19-2023, 09:32 PM
RE: Proggies - by Dav - 10-19-2023, 11:45 PM
RE: Proggies - by bplus - 10-27-2023, 08:00 AM
RE: Proggies - by vince - 10-27-2023, 08:49 AM
RE: Proggies - by bplus - 10-27-2023, 01:32 PM
RE: Proggies - by GareBear - 10-28-2023, 05:16 PM
RE: Proggies - by bplus - 10-28-2023, 05:29 PM
RE: Proggies - by dbox - 10-28-2023, 10:19 PM
RE: Proggies - by bplus - 10-28-2023, 11:10 PM
RE: Proggies - by bplus - 10-29-2023, 11:03 AM
RE: Proggies - by bplus - 01-06-2024, 03:12 PM
RE: Proggies - by CharlieJV - 01-06-2024, 05:01 PM
RE: Proggies - by bplus - 01-29-2024, 04:30 PM
RE: Proggies - by PhilOfPerth - 01-29-2024, 11:24 PM
RE: Proggies - by bplus - 01-30-2024, 02:52 PM
RE: Proggies - by bplus - 03-17-2024, 07:11 PM
RE: Proggies - by bplus - 03-24-2024, 11:25 PM
RE: Proggies - by vince - 03-25-2024, 12:27 AM
RE: Proggies - by bplus - 03-26-2024, 06:33 PM
RE: Proggies - by bplus - 05-11-2024, 06:13 PM
RE: Proggies - by bplus - 06-14-2024, 01:58 AM
RE: Proggies - by PhilOfPerth - 06-14-2024, 06:01 AM
RE: Proggies - by NakedApe - 06-14-2024, 04:13 AM
RE: Proggies - by vince - 06-14-2024, 09:15 AM
RE: Proggies - by bplus - 06-14-2024, 10:42 PM
RE: Proggies - by Dav - 06-14-2024, 10:58 PM
RE: Proggies - by bplus - 06-19-2024, 10:14 PM
RE: Proggies - by madscijr - 06-20-2024, 12:41 PM
RE: Proggies - by Dav - 06-20-2024, 06:28 PM
RE: Proggies - by bplus - 06-20-2024, 06:45 PM
RE: Proggies - by dbox - 06-20-2024, 06:48 PM
RE: Proggies - by bplus - 06-20-2024, 07:40 PM
RE: Proggies - by bplus - 06-20-2024, 07:46 PM
RE: Proggies - by bplus - 06-27-2024, 01:09 PM
RE: Proggies - by Steffan-68 - 06-27-2024, 04:02 PM
RE: Proggies - by bplus - 06-27-2024, 04:09 PM
RE: Proggies - by Steffan-68 - 06-27-2024, 04:51 PM
RE: Proggies - by GareBear - 06-27-2024, 05:08 PM
RE: Proggies - by Steffan-68 - 06-27-2024, 05:21 PM
RE: Proggies - by bplus - 06-29-2024, 01:39 PM
RE: Proggies - by bplus - 07-01-2024, 11:30 PM
RE: Proggies - by SMcNeill - 07-02-2024, 12:59 AM
RE: Proggies - by bplus - 07-02-2024, 01:53 PM
RE: Proggies - by SMcNeill - 07-02-2024, 03:07 PM
RE: Proggies - by vince - 07-02-2024, 04:15 AM
RE: Proggies - by bplus - 07-02-2024, 02:02 PM
RE: Proggies - by bplus - 07-02-2024, 05:30 PM
RE: Proggies - by SMcNeill - 07-02-2024, 11:11 PM
RE: Proggies - by bplus - 07-02-2024, 11:30 PM
RE: Proggies - by bplus - 07-15-2024, 12:07 AM
RE: Proggies - by vince - 07-17-2024, 02:06 PM
RE: Proggies - by bplus - 07-17-2024, 02:39 PM
RE: Proggies - by vince - 07-17-2024, 03:34 PM
RE: Proggies - by Dav - 08-30-2024, 05:47 PM
RE: Proggies - by bplus - 08-30-2024, 05:57 PM
RE: Proggies - by Dav - 08-30-2024, 06:00 PM
RE: Proggies - by Dav - 10-02-2024, 01:06 PM
RE: Proggies - by bplus - 10-02-2024, 02:59 PM
RE: Proggies - by Dav - 10-02-2024, 04:31 PM
RE: Proggies - by bplus - 10-02-2024, 08:45 PM
RE: Proggies - by Dav - 10-02-2024, 09:05 PM
RE: Proggies - by NakedApe - 10-02-2024, 09:13 PM
RE: Proggies - by Dav - 10-03-2024, 07:31 PM
RE: Proggies - by bplus - 10-03-2024, 10:35 PM
RE: Proggies - by Dav - 10-03-2024, 11:04 PM
RE: Proggies - by madscijr - 10-07-2024, 08:08 PM
RE: Proggies - by bplus - 10-07-2024, 08:37 PM
RE: Proggies - by bplus - 11-01-2024, 09:28 PM
RE: Proggies - by PhilOfPerth - 11-01-2024, 11:04 PM
RE: Proggies - by bplus - 11-01-2024, 11:48 PM
RE: Proggies - by bplus - 11-09-2024, 01:21 AM
RE: Proggies - by PhilOfPerth - 11-09-2024, 07:48 AM
RE: Proggies - by vince - 11-09-2024, 03:38 PM
RE: Proggies - by bplus - 11-09-2024, 03:53 PM
RE: Proggies - by PhilOfPerth - 11-09-2024, 11:06 PM



Users browsing this thread: 3 Guest(s)