REM REM cxxxxxx|/////////////////////////> REM REM COLORS - DRAWS Colors REM AUTHOR - BILL CHATFIELD REM REM cxxxxxx|/////////////////////////> REM { DHGR 140x192 16-Color Mode 0: Black 1: Magenta 2: Dark blue 3: Purple 4: Dark green 5: Grey #1 6: Medium blue 7: Light blue 8: Brown 9: Orange 10: Grey #2 11: Pink 12: Green 13: Yellow 14: Aqua 15: White Color Wheel: 1: Magenta 9: Orange 13: Yellow 12: Green 4: Dark green 14: Aqua 7: Light blue 6: Medium blue 2: Dark blue 3: Purple 11: Pink } { green, yellow, orange, red } D$ = chr$(4) RET$ = chr$(13) ESC$ = chr$(27) SW = 140 : SH = 192 : REM Screen width and height KBD = -16384 : REM Byte that is neg if key pressed RL = 78 : RH = 79 : REM RNDL and RNDH SEED = peek(RL) + peek(RH) * 256 : REM Get seed for random num generator NA = rnd(SEED) : REM Seed random num generator print D$;"-dhgr" : REM Load Double Hi-Res driver dim c(16) data 1,9,13,12,4,14,7,6,2,3,11,-1 mc = 0 {max colors} £nextColor read c(i) if c(i) = -1 then @lastColor mc = mc + 1 goto @nextColor £lastColor &HGR2 : REM Full screen double hi-res &MODE(2) : REM 16-color mode { Clear screen to black } &BCOLOR=0 &CLEAR mx = sw - 1 {max x} my = sh - 1 {max y} cc = 0 ci = 1 for x = 0 to mx if cc < 8 then cc = cc + 1 : goto @setColor cc = 0 ci = ci + 1 if ci > mc{max color} then @checkKeypress £setColor &hcolor = c(ci) &hplot x,0 to x,my next £checkKeypress if peek(kbd) <= 127 then @checkKeypress get k$ £exit &text print "Colors terminated" print "Run -FP before running it again to clear memory"; end { re = p1 mod p2 } £modulus re = p1 - int(p1 / p2) * p2 return