02-15-2003, 01:05 PM
Hey all those graphic demos are real good, especially since they only take up 9 lines!
Anyways here's mine:
Hehe sorry about the length - my original program was 52 lines and it took a lot of trouble to get it down to 9. Yeah and I know the IF...THEN...ELSE...IF...THEN thing is a really cheesy hack to fit more into one line, but there was no other way to do it. It may run a bit slow (it's about 6 times slower than the original, uncompressed program!)
Anyways here's mine:
Code:
' Explosion screensaver by someone42
1 SCREEN 13
2 DIM p(255) AS LONG, A AS STRING * 4104
3 IF x& = 0 THEN CLS ELSE IF x& MOD 256 = 0 THEN PALETTE USING p(0)
4 IF x& < 128 AND x& > 0 THEN p(x&) = ((64 - x& * 2 + 1) AND NOT (((64 - x& * 2 + 1) AND &HFF00) \ 256)) * 65536 + ((95 - x&) AND &H3F AND NOT (((95 - x&) AND &HFF00) \ 256) OR (((x& - 32) AND &H3F00) \ 256)) * 256 + ((256 - 2 * x& - 1) AND &H3F OR _
(((x& - 96) AND &H3F00) \ 256)) ELSE IF x& > 639 AND ((x& - 384) \ 256) > ((x& - 384) AND 255) THEN p((x& - 384) AND 255) = ((NOT SGN(p((x& - 384) AND 255) - &H40000)) AND (p((x& - 384) AND 255) - &H40000) AND &H3F0000) + ((NOT SGN((p((x& - 384) AND _
255) AND &HFF00) - 1024)) AND (p((x& - 384) AND 255) - 1024) AND &H3F00) + ((NOT SGN((p((x& - 384) AND 255) AND 255) - 4)) AND (p((x& - 384) AND 255) - 4) AND 63)
5 IF x& < 384 AND x& > 127 THEN MID$(A, (x& - 128) * 16 + 1, 24) = MKS$(RND * 6.28318 - 3.14159) + MKS$(RND / 2) + MKI$(CVS(MID$(A, 1, 4)) * 3259.496) + MKI$(CVS(MID$(A, 5, 4)) * 12800 - 6400) + MKI$(SIN(CVS(MID$(A, (x& - 128) * 16 + 1, 4))) * CVS( _
MID$(A, (x& - 128) * 16 + 5, 4)) * 512) + MKI$(COS(CVS(MID$(A, (x& - 128) * 16 + 1, 4))) * CVS(MID$(A, (x& - 128) * 16 + 5, 4)) * 384) + MKS$(RND * 6.28318 - 3.14159) + MKS$(RND / 2)
6 IF x& > 383 THEN MID$(A, ((x& - 384) AND 255) * 16 + 9, 8) = MKI$(CVI(MID$(A, ((x& - 384) AND 255) * 16 + 9, 2)) + CVI(MID$(A, ((x& - 384) AND 255) * 16 + 13, 2))) + MKI$(CVI(MID$(A, ((x& - 384) AND 255) * 16 + 11, 2)) + CVI(MID$(A, ((x& - 384) _
MOD 256) * 16 + 15, 2))) + MKI$(CVI(MID$(A, ((x& - 384) MOD 256) * 16 + 13, 2)) * .98) + MKI$(CVI(MID$(A, ((x& - 384) MOD 256) * 16 + 15, 2)) * .98)
7 IF x& > 383 AND (x& - 384) MOD 256 <> 0 THEN CIRCLE ((CVI(MID$(A, ((x& - 384) AND 255) * 16 + 9, 2)) + 10240) / 64, (CVI(MID$(A, ((x& - 384) AND 255) * 16 + 11, 2)) + 12800) / 64), 1, (x& - 384) \ 256
8 x& = (x& + 1) MOD 32897
9 IF INKEY$ = "" THEN 3
Hehe sorry about the length - my original program was 52 lines and it took a lot of trouble to get it down to 9. Yeah and I know the IF...THEN...ELSE...IF...THEN thing is a really cheesy hack to fit more into one line, but there was no other way to do it. It may run a bit slow (it's about 6 times slower than the original, uncompressed program!)