Анимация "салют" (FreeBasic)
Данный код был написан на QuickBASIC автором Andrew L. Ayers. Он нормально компилировался и так , достаточно было при компиляции указать соответсвующий ключик, но для тех кто только начинает знакомиться с FreeBasic, решил подправить , чтобы пример нормально запускался на последней версии.
Code
'**********************************************
' Description : Explosions - VGA mode 13 special effect
' Written by : Andrew L. Ayers
' Date : 10/22/96
'
' The name says it all!
'
' You may use this routine in any manner you like, as long
' as you give credit in an appropriate manner. Have phun!
'
Screen 13
Dim As Short x(50), y(50), xv(50), yv(50), ox(50), oy(50)
Dim As Short dir1,vel,tx,ty,c,done
Do
Cls
For t As Integer = 0 To 50
x(t) = 0
y(t) = 0
dir1 = Rnd * 6.28: vel = Int(Rnd * 5) + 1
xv(t) = Sin(dir1) * vel
yv(t) = Cos(dir1) * vel
Next
'
tx = Int(Rnd * 320)
ty = Int(Rnd * 200)
c = 31: done = 0
Locate 1, 6: Print "Explosions by Andrew L. Ayers"
Locate 23, 8: Print "Press any key to exit demo"
Do
For t As Integer = 0 To 50
Line (ox(t) + tx, oy(t) + ty)-(x(t) + tx, y(t) + ty), 0
ox(t) = x(t): oy(t) = y(t)
x(t) = x(t) + xv(t)
y(t) = y(t) + yv(t)
Line -(x(t) + tx, y(t) + ty), Int(Rnd*15)
Next
c = c - 1: If c < 16 Then done = 1
If Inkey <> "" Then done = 2
Sleep 25
Loop Until done
Loop Until done = 2