3

D-Pad to select, Page Up to Randomize.

Instead of a 1+1/1-1 count, data has been used for chosen numbers.

In this program, there is 32, 16 and 8 counts, changed by the line - restore value*. * is 1, 2 or 3.

`restore RGB`

read sets

dim Rset$(sets)

dim Rnos(sets)

for a=1 to sets

read Rset$(a)

read Rnos(a)

next a

restore values3

read cols

dim Rv(cols)

dim R(cols)

for a=1 to cols

read Rv(a)

next a

sel=3

for a=1 to sel

R(a)=int(cols/2)

next a

open window 640,512

repeat

setdispbuf vm

vm=1-vm

setdrawbuf vm

clear window

c=peek("port1")

if and(c,128)<>0 left=1

if left=1 L=L+1

if L>2 L=2

if L=2 left=0

if and(c,128)=0 L=0

if and(c,32)<>0 right=1

if right=1 R=R+1

if R>2 R=2

if R=2 right=0

if and(c,32)=0 R=0

if left=1 sel=sel-1

if right=1 sel=sel+1

if sel<1 sel=1

if sel>sets sel=sets

if and(c,16)<>0 up=1

if up=1 U=U+1

if U>2 U=2

if U=2 up=0

if and(c,16)=0 U=0

if and(c,64)<>0 down=1

if down=1 D=D+1

if D>2 D=2

if D=2 down=0

if and(c,64)=0 D=0

if and(c,1)<>0 slide=1

if slide=1 S=S+1

if S>2 S=2

if S=2 slide=0

if and(c,1)=0 S=0

for a=1 to sets

if sel=a then

setrgb 1,256,128,0

fill rectangle 75*a+150,138 to 75*a+(len(Rset$(a))*10)+150,156

endif

if sel=a then

setrgb 1,0,128,0

else

setrgb 1,256,256,256

endif

text 75*a+150,150,Rset$(a)

next a

for a=1 to sets rem sel

if sel=a and up=1 R(a)=R(a)+1

if sel=a and down=1 R(a)=R(a)-1

if R(a)<1 R(a)=1

if R(a)>cols R(a)=cols

for b=1 to cols

if R(a)=b Rnos(a)=Rv(b)

next b

setrgb 1,256,256,256

text 75*a+150,165,str$(Rnos(a))

next a

if slide=1 then

for a=1 to sel

R(a)=int(ran(cols))+1

next a

endif

for a=1 to sel

setrgb 1,Rnos(1),Rnos(2),Rnos(3)

fill rectangle 200,200 to 450,450

next a

until (1=0)

label RGB

data 3

data "RED",0

data "GREEN",0

data "BLUE",0

label values1

data 9

data 0,32,64,96,128,160,192,224,256

label values2

data 16

data 0,16,32,48,80,96,112,128,144

data 160,176,192,208,224,240,256

label values3

data 31

data 0,8,16,24,32,40,48,56,80,88

data 96,104,112,120,128,136,144

data 152,160,168,176,184,192,200

data 208,216,224,232,240,248,256