'Small useless star routine in pure qb. 'Nothing much, just enjoy. I don't care how do you use this code 'so feel free to do with it whatever you want to do. ' 'By VonGodric 'October 2004 RANDOMIZE TIMER DEFINT A-Z SCREEN 12 'Set Screen mode CONST NofS = 200 'Number of stars TYPE Stardata Sx AS INTEGER 'Xpos Sy AS INTEGER 'Ypos SxS AS INTEGER 'X speed SyS AS INTEGER 'Y speed Sc AS INTEGER 'Color END TYPE DIM Star(NofS) AS Stardata FOR i = 1 TO NofS 'Set star data Star(i).Sx = 320 Star(i).Sy = 240 Star(i).SxS = RND * 32 - 16 'Random X and Y moving Star(i).SyS = RND * 24 - 12 'angle. Star(i).Sc = RND * 14 + 1 'Random color NEXT i DO 'First draw a star to the screen FOR St = 0 TO NofS IF Star(St).Sx < 160 OR Star(St).Sy < 120 OR Star(St).Sx > 480 OR Star(St).Sy > 360 THEN 'If Star is closer to the edge then draw bigger bigger one CIRCLE (Star(St).Sx, Star(St).Sy), 1, Star(St).Sc END IF PSET (Star(St).Sx, Star(St).Sy), Star(St).Sc NEXT St 'Do some delay Stopper# = TIMER DO: LOOP UNTIL TIMER - Stopper# > .01# FOR St = 0 TO NofS 'Erase old star IF Star(St).Sx < 160 OR Star(St).Sy < 120 OR Star(St).Sx > 480 OR Star(St).Sy > 360 THEN 'If it was a bigger on then delete bigger one. CIRCLE (Star(St).Sx, Star(St).Sy), 1, 0 END IF PSET (Star(St).Sx, Star(St).Sy), 0 'Move it. Star(St).Sx = Star(St).Sx + Star(St).SxS Star(St).Sy = Star(St).Sy + Star(St).SyS 'If star is out of the screen then set it again to center IF Star(St).Sx < 0 OR Star(St).Sx > 640 OR Star(St).Sy < 0 OR Star(St).Sy > 480 THEN Star(St).Sx = 320 '* RND Add these for a nice effect. Star(St).Sy = 240 '* RND Star(St).SxS = RND * 32 - 16 Star(St).SyS = RND * 24 - 12 Star(St).Sc = RND * 14 + 1 END IF NEXT LOOP UNTIL INKEY$ > "" 'wait till key is pressed. END 'Hope you enjoyed it!