MODE 8 OFF c%=FNGetColour MOVE 0,150 PRINT c% COLOUR 0,c% AND 255,(c%>>8)AND 255,(c%>>16) AND 255 GCOL 0 CIRCLE FILL 200,500,150 END : DEFFNGetColour LOCAL x%,y%,z%,r%,g%,b%,done% done%=FALSE REPEAT *REFRESH OFF GCOL 0 CLS RECTANGLE FILL0,0,400,100 GCOL 15 MOVE 0,30 PRINT"B" RECTANGLE 20,10,255,20 MOVE 0,60 PRINT"G" RECTANGLE 20,40,255,20 MOVE 0,90 PRINT"R" MOVE 10,120:GCOL 15:PRINT "R: "+STR$(r%)+" G: "+STR$(g%)+" B: "+STR$(b%) MOVE 0,0 RECTANGLE 20,70,255,20 LINE 20+r%,70,20+r%,90 LINE 20+g%,40,20+g%,60 LINE 20+b%,10,20+b%,30 COLOUR 7,r%,g%,b% GCOL 7 RECTANGLE FILL 300,10,80,80 GCOL 15 RECTANGLE 390,10,80,80 MOVE 410,65 PRINT "OK" VDU 5 MOUSE x%,y%,z% IF z%>0 THEN CASE TRUE OF WHEN y%>9 AND y%<31 AND x%>19 AND x%<276:b%=x%-20 WHEN y%>39 AND y%<61 AND x%>19 AND x%<276:g%=x%-20 WHEN y%>69 AND y%<91 AND x%>19 AND x%<276:r%=x%-20 WHEN y%>10 AND y%<90 AND x%>390 AND x%<470:done%=TRUE ENDCASE ENDIF *REFRESH UNTIL done% COLOUR 7,200,200,200 *REFRESH ON =(r%+(g%<<8)+(b%<<16))
r&=200 g&=100 b&=0 col%=(b&<<16)+(g&<<8)+r& COLOUR 4,r&,g&,b& GCOL 4 CIRCLE FILL 200,200,200 GCOL 5 CIRCLE FILL 500,500,200 WAIT 100 SYS "SetPaletteEntries",@hpal%,5,1,^col% CIRCLE FILL 500,500,200