maze/colors.baz
Bill Chatfield e11f91e6f4 Fix colors
2021-02-28 14:41:06 -05:00

104 lines
1.7 KiB
Plaintext

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