SCREEN 12 'Check help files for other settings, this is good hi-res DEFBCD A-Z RANDOMIZE TIMER radians = 1.57079632679# 'constant for 90 degrees in radians DO 'Main body DO 'Big Stars x = INT(RND * 640 + 1) 'This part makes really really y = INT(RND * 480 + 1) 'cool looking stars COLOR 15 PSET (x, y) COLOR 7 PSET (x - 1, y) PSET (x + 1, y) PSET (x, y - 1) PSET (x, y + 1) COLOR 8 PSET (x - 2, y) PSET (x + 2, y) PSET (x, y - 2) PSET (x, y + 2) i = i + 1 LOOP UNTIL i = 20 'Big stars - change the value here for more stars 'The parts below make normal single pixel stars COLOR 8 i = 0 DO 'Dim little stars x = INT(RND * 640 + 1) y = INT(RND * 480 + 1) PSET (x, y) i = i + 1 LOOP UNTIL i = 180 'Dim little stars COLOR 15 i = 0 DO 'Bright litte stars x = INT(RND * 640 + 1) y = INT(RND * 480 + 1) PSET (x, y) i = i + 1 LOOP UNTIL i = 90 'Bright little stars COLOR 7 i = 0 DO 'medium little stars x = INT(RND * 640 + 1) y = INT(RND * 480 + 1) PSET (x, y) i = i + 1 LOOP UNTIL i = 150 'medium little stars theta = 1 c = INT(RND * 15 + 1) 'color scheme, picks a random NON-black color if c = 0 then c = 4 color c hole = INT(RND * 16 + 1) 'Random value to select type of graph DO 'Black hole main loop r = 1.01 ^ theta 'black hole main formula SELECT CASE hole 'Variations of the graph CASE 1 y = (SIN(theta)) * r 'Convert polar to cartesian y x = (SIN(radians - theta)) * r 'Convert polar to cartesian x x = x + theta y = y + 240 CASE 2 y = (SIN(theta)) * r 'Convert polar to cartesian y x = (SIN(radians - theta)) * r 'Convert polar to cartesian x x = x - theta + 640 y = y + 240 CASE 3 y = (SIN(theta)) * r 'Convert polar to cartesian y x = (SIN(radians - theta)) * r 'Convert polar to cartesian x x = x - theta + 640 y = y - theta + 480 CASE 4 y = (SIN(theta)) * r 'Convert polar to cartesian y x = (SIN(radians - theta)) * r 'Convert polar to cartesian x x = x + theta y = y + theta CASE 5, 14 y = (COS(theta)) * r 'Convert polar to cartesian y x = (SIN(90 - theta)) * r 'Convert polar to cartesian x x = x + 320 y = y + 240 CASE 15, 16 y = (SIN(theta)) * r 'Convert polar to cartesian y x = (SIN(radians - theta)) * r 'Convert polar to cartesian x x = x + 320 y = y + 240 CASE 6 y = (SIN(theta)) * r 'Convert polar to cartesian y x = (SIN(radians - theta)) * r 'Convert polar to cartesian x x = x * theta / 85 + 320 y = y + theta CASE 7 y = (SIN(theta)) * r 'Convert polar to cartesian y x = (SIN(radians - theta)) * r 'Convert polar to cartesian x x = x * theta / 85 + 320 y = y - theta + 480 CASE 8 y = (SIN(theta)) * r 'Convert polar to cartesian y x = (SIN(radians - theta)) * r 'Convert polar to cartesian x x = x + theta y = y * theta / 100 + 240 CASE 9 y = (SIN(theta)) * r 'Convert polar to cartesian y x = (SIN(radians - theta)) * r 'Convert polar to cartesian x x = x - theta + 640 y = y * theta / 100 + 240 CASE 10 y = (SIN(theta)) * r 'Convert polar to cartesian y x = (SIN(radians - theta)) * r 'Convert polar to cartesian x x = x + theta / r + 320 y = y + theta CASE 11 y = (SIN(theta)) * r 'Convert polar to cartesian y x = (SIN(radians - theta)) * r 'Convert polar to cartesian x x = x + theta / r + 320 y = y - theta + 480 CASE 12 y = (SIN(theta)) * r 'Convert polar to cartesian y x = (SIN(radians - theta)) * r 'Convert polar to cartesian x x = x + theta y = y + theta / r + 240 CASE 13 y = (SIN(theta)) * r 'Convert polar to cartesian y x = (SIN(radians - theta)) * r 'Convert polar to cartesian x x = x - theta + 640 y = y + theta / r + 240 END SELECT PSET (x, y) 'Place the dots theta = theta + .01 'Make this bigger for more speed!!!!!!! breakout$ = INKEY$ LOOP UNTIL theta > 750 OR breakout$ <> "" i = 0 CLS IF breakout$ <> "" THEN END LOOP 'Main body