DECLARE FUNCTION SetVariable! (switch AS STRING, default AS INTEGER) ' Simple starfield by Lamtd@aol.com ' Syntax: starfld.exe width:xxx height:xxx stars:xxx mode:xxx DIM i AS INTEGER DIM w AS INTEGER DIM h AS INTEGER DIM mx AS INTEGER DIM m AS INTEGER w = SetVariable("width", 640) h = SetVariable("height", 480) mx = SetVariable("stars", 150) m = SetVariable("mode", 12) DIM sx(mx) AS INTEGER DIM sy(mx) AS INTEGER DIM sp(mx) AS INTEGER DIM ss(mx) AS INTEGER SCREEN m CLS RANDOMIZE TIME FOR i = 0 TO mx sx(i) = RND * w sy(i) = RND * h sp(i) = RND * 15 + 1 ss(i) = RND * sp(i) NEXT i DO UNTIL INKEY$ <> "" FOR i = 0 TO mx ss(i) = (ss(i) + 1) MOD sp(i) IF ss(i) = 0 THEN PSET (sx(i), sy(i)), 0 sx(i) = (sx(i) + 1) MOD w 'Put PSET after the IF/THEN/END loop for slower but better display PSET (sx(i), sy(i)), sp(i) END IF 'PSET (sx(i), sy(i)), sp(i) NEXT i LOOP CLS PRINT "Simple starfield by Lamtd@aol.com" PRINT "Written the 01/27/2000 in QuickBasic" PRINT "" FUNCTION SetVariable (switch AS STRING, default AS INTEGER) DIM i AS INTEGER DIM j AS INTEGER DIM arg AS STRING i = INSTR(1, LCASE$(COMMAND$), switch + ":") IF i > 0 THEN j = INSTR(i, COMMAND$, " ") IF j = 0 THEN j = LEN(COMMAND$) END IF arg = MID$(COMMAND$, i + LEN(switch) + 1, j - i) IF VAL(arg) > 0 THEN SetVariable = VAL(arg) ELSE SetVariable = default END IF ELSE SetVariable = default END IF END FUNCTION