Updated and Optimized.....
New update: More stars and more bob helix
'Here's my final entry to the 20 line screen effect challenge in DBF
'Features
'1. scaled and multi colored 3d Starfield
'2. 3d rubber band effect
'3. scaled and multicolored 3d bobs
'Relsoft 2006
'http://rel.betterwebber.com
'updated!!!!
1 IF F& = 0 THEN SCREEN 18,32 , 2,1 ELSE if F% = 1 then screenset 1,0 else LINE (0, 0)-(639, 479), 0, BF
2 F& = (F& + 1) AND &H7FFFFFFF
3 FOR i% = 0 TO 300
4 if i% < 300 then A! = (A! + 0.0003) * -(A! < 6.283186 - 0.0003) else screensync
5 IF F& = 1 THEN DIM S!(300, 3) ELSE IF F& = 2 THEN S!(i%, 0) = -90 + INT(RND * 180) ELSE IF F& = 3 THEN S!(i%, 1) = -80 + INT(RND * 160)
6 IF F& > 3 THEN S!(i%, 2) = (S!(i%, 2) + S!(i%, 3)) * -(S!(i%, 2) < 253) ELSE S!(i%, 2) = INT(RND * 255)
7 IF F& > 3 THEN CIRCLE ((320 + (256 * S!(i%, 0) \ (256 - S!(i%, 2)))), (240 - (256 * S!(i%, 1) \ (256 - S!(i%, 2))))), 128 \ (256 - S!(i%, 2)), rgb(s!(i%, 0)*s!(i%, 1),s!(i%, 2),s!(i%, 3)) ELSE S!(i%, 3) = .1 + RND * 2
8 x! = ((250 * COS(4 * 3.141593 / 200 * I%)) * (COS(A!) * COS(A!)) + (250 * SIN(8 * 3.141593 / 200 * I%)) * (SIN(A!) * SIN(A!) * COS(A!) - COS(A!) * SIN(A!)) + (I% - (200 / 2)) * (COS(A!) * SIN(A!) * COS(A!) + SIN(A!) * SIN(A!)))
9 y! = ((-150 * COS(8 * 3.141593 / 200 * I%)) * (COS(A!) * SIN(A!)) + (150 * SIN(8 * 3.141593 / 200 * I%)) * (COS(A!) * COS(A!) + SIN(A!) * SIN(A!) * SIN(A!)) + (I% - (200 / 2)) * (-SIN(A!) * COS(A!) + COS(A!) * SIN(A!) * SIN(A!)))
10 z! = ((50 * COS(16 * 3.141593 / 200 * I%)) * (-SIN(A!)) + (50 * SIN(8 * 3.141593 / 200 * I%)) * (SIN(A!) * COS(A!)) + (I% - (200 / 2)) * COS(A!) * COS(A!))
11 if i% < 300 then circle((320 + (256 * x! \ (256 - z!))), (240 - (256 * y! \ (256 - z!)))), 1024 \ (256 - z!), rgb((A! * 57.29577 + I%),(A! + I%),(A!* I%)) else y! = -320
12 NEXT i%
13 twister! = 0
14 for Slice = 0 TO 640
15 if slice <640 then twister! += csng(sin(F&/18) *0.0129171) else screencopy
16 y! += 1
17 for Band = 0 TO 3
18 line -(320 + (256 * (70+(sin((F&+slice)/42) * 15)) * cos((6.28 / 4) * Band+twister!) / (256 - z!*0.7)), 240 - (256 * y! / (256 - (70+(sin((f&+slice)/42) * 15)) * sin((6.28 / 4) * Band+twister!)))), rgb(slice * 10, band * 20 ,slice * band), , &haaefa911
19 next Band, Slice
20 IF INKEY$ = "" THEN 1
'Here's my final entry to the 20 line screen effect challenge in DBF
'Features
'1. scaled and multi colored 3d Starfield
'2. 3d rubber band effect
'3. scaled and multicolored 3d bobs
'Relsoft 2006
'http://rel.betterwebber.com
1Ã, Ã, Ã, IF F& = 0 THEN SCREEN 18,32 , 2,1 ELSE if F% = 1 then screenset 1,0 else LINE (0, 0)-(639, 479), 0, BF
2Ã, Ã, Ã, F& = (F& + 1) AND &H7FFFFFFF
3Ã, Ã, Ã, FOR i% = 0 TO 200
4Ã, Ã, Ã, if i% < 200 then A! = (A! + .0003) * -(A! < 6.283186 - .0003) else screensync
5Ã, Ã, Ã, IF F& = 1 THEN DIM S!(200, 3) ELSE IF F& = 2 THEN S!(i%, 0) = -90 + INT(RND * 180) ELSE IF F& = 3 THEN S!(i%, 1) = -80 + INT(RND * 160)
6Ã, Ã, Ã, IF F& > 3 THEN S!(i%, 2) = (S!(i%, 2) + S!(i%, 3)) * -(S!(i%, 2) < 253) ELSE S!(i%, 2) = INT(RND * 255)
7Ã, Ã, Ã, IF F& > 3 THEN CIRCLE ((320 + (256 * S!(i%, 0) \ (256 - S!(i%, 2)))), (240 - (256 * S!(i%, 1) \ (256 - S!(i%, 2))))), 128 \ (256 - S!(i%, 2)), rgb(s!(i%, 0)*s!(i%, 1),s!(i%, 2),s!(i%, 3)) ELSE S!(i%, 3) = .1 + RND * 2
8Ã, Ã, Ã, x! = ((250 * COS(4 * 3.141593 / 200 * I%)) * (COS(A!) * COS(A!)) + (50 * SIN(8 * 3.141593 / 200 * I%)) * (SIN(A!) * SIN(A!) * COS(A!) - COS(A!) * SIN(A!)) + (I% - (200 / 2)) * (COS(A!) * SIN(A!) * COS(A!) + SIN(A!) * SIN(A!)))
9Ã, Ã, Ã, y! = ((150 * COS(8 * 3.141593 / 200 * I%)) * (COS(A!) * SIN(A!)) + (50 * SIN(8 * 3.141593 / 200 * I%)) * (COS(A!) * COS(A!) + SIN(A!) * SIN(A!) * SIN(A!)) + (I% - (200 / 2)) * (-SIN(A!) * COS(A!) + COS(A!) * SIN(A!) * SIN(A!)))
10Ã, Ã, z! = ((50 * COS(8 * 3.141593 / 200 * I%)) * (-SIN(A!)) + (50 * SIN(8 * 3.141593 / 200 * I%)) * (SIN(A!) * COS(A!)) + (I% - (200 / 2)) * COS(A!) * COS(A!))
11Ã, Ã, if i% < 200 then CIRCLE ((320 + (256 * x! \ (256 - z!))), (240 - (256 * y! \ (256 - z!)))), 1024 \ (256 - z!), rgb((A! * 57.29577 + I%),(A! + I%),(A!* I%)) else y! = -320Ã, Ã, Ã, Ã,
12Ã, Ã, NEXT i%
13Ã, Ã, twister! = 0Ã, Ã,
14Ã, Ã, for Slice = 0 TO 640
15Ã, Ã, Ã, Ã, twister! += csng(sin(F&/18) *0.0129171)
16Ã, Ã, Ã, Ã, y! += 1
17Ã, Ã, for Band = 0 TO 3Ã, Ã, Ã, Ã, Ã, Ã, Ã,
18Ã, Ã, Ã, Ã, if slice <640 then line -(320 + (256 * (70+(sin((F&+slice)/42) * 15)) * cos((6.28 / 4) * Band+twister!) / (256 - z!)), 240 - (256 * y! / (256 - (70+(sin((f&+slice)/42) * 15)) * sin((6.28 / 4) * Band+twister!)))), rgb(slice * 10, band * 20 ,slice * band), , &haaefa911Ã, else screencopy
19Ã, Ã, next Band, Slice
20Ã, Ã, IF INKEY$ = "" THEN 1
exe ans source attatched. :*)
Crumbs! That's a lot of effects to be squeezed into 20 lines!
Staggering.
Nice twister too :)
Got bored after finishing my tute for QBE. Last entry for me though. Doing some newton lib learning. For the KART game. :*)
I'd been wondering where you were Rel :)
Voting starts on Saturday btw.
Went to the boondocks, did some farming.
Nice one relsoft, it has a ZX Spectrum feel to it.
Cool!
I have few days to work on my second entry now ;)
Updated. See first post. O0
Thats insane, how do you fit soo much into so little space. Great work!
Thanks. I've had..."practice"
O0
Updated and optimised?!? It was fast as it was! :)
the update has screensync and put the screenflip check on the outside loop. :*)
Very Cool Relsoft ;D
Really like the twisty rubber band ting :)
Impressive as hell in 20 lines! Good one relsoft: ++ karma I think for that!
Love the colors. My 2 favorite! Very nice. I agree I like the rubber band thingy.
Wow! It's so vibrant and lively.