This sort of looks like the sky.
Use shift to change colors, enter to pause, and space to exit.
Run the app with "nowait" to stop the pauses when it's day and night.
So far, I found one bug: If you change the sky during a pause, the pause never stops.
Source code:
if cl$()="nowait" then nowait=1 : sync on : col1R=223 : col1G=239 : col1B=255 : col2R=0 : col2G=32 : col2B=64 : ink -1,0
do
if shiftkey()=1 and nokey=0 then col1R=rnd(255) : col1G=rnd(255) : col1B=rnd(255) : col2R=rnd(255) : col2G=rnd(255) : col2B=rnd(255) : nokey=1
if onb=0 and returnkey()=0 then if offmode=0 then offset=offset-1 else offset=offset+1
if col1R+offset=<255 and col1R+offset=>0 then col1Rf = col1R+offset else if col1R+offset>255 then col1Rf=255 else col1Rf=0
if col1G+offset=<255 and col1G+offset=>0 then col1Gf = col1G+offset else if col1G+offset>255 then col1Gf=255 else col1Gf=0
if col1B+offset=<255 and col1B+offset=>0 then col1Bf = col1B+offset else if col1B+offset>255 then col1Bf=255 else col1Bf=0
if col2R+offset=<255 and col2R+offset=>0 then col2Rf = col2R+offset else if col2R+offset>255 then col2Rf=255 else col2Rf=0
if col2G+offset=<255 and col2G+offset=>0 then col2Gf = col2G+offset else if col2G+offset>255 then col2Gf=255 else col2Gf=0
if col2B+offset=<255 and col2B+offset=>0 then col2Bf = col2B+offset else if col2B+offset>255 then col2Bf=255 else col2Bf=0
box 0,0,SCREEN WIDTH(),SCREEN HEIGHT(),RGB(col1Rf,col1Gf,col1Bf),RGB(col2Rf,col2Gf,col2Bf),RGB(col1Rf,col1Gf,col1Bf),RGB(col2Rf,col2Gf,col2Bf)
if onb=0 then if col1Rf=0 and col1Gf=0 and col1Bf=0 and col2Rf=0 and col2Gf=0 and col2Bf=0 then offmode=1 : on=1 : time = 1000 : if onb=0 then if col1Rf=255 and col1Gf=255 and col1Bf=255 and col2Rf=255 and col2Gf=255 and col2Bf=255 then offmode=0 : on=1 : time = 1000
if nowait=1 then if onb=0 then if col1Rf=0 and col1Gf=0 and col1Bf=0 and col2Rf=0 and col2Gf=0 and col2Bf=0 then offmode=1 : if onb=0 then if col1Rf=255 and col1Gf=255 and col1Bf=255 and col2Rf=255 and col2Gf=255 and col2Bf=255 then offmode=0
center text (SCREEN WIDTH()/2)+rnd(10),(SCREEN HEIGHT()/2)+rnd(10),"Press Shift!!!"
if nowait=0
if on=1 then onb=1 : endtime=timer()+time : on=0
if onb=1 then if timer()=>endtime then onb=0
if spacekey()=1 then exit : if shiftkey()=0 then nokey=0
endif
sync : loop
I think I found a bug and fixed it but now it's over 20 lines:
if cl$()="nowait" then nowait=1 : sync on : col1R=223 : col1G=239 : col1B=255 : col2R=0 : col2G=32 : col2B=64 : ink -1,0
do
if shiftkey()=1 and nokey=0 then col1R=rnd(255) : col1G=rnd(255) : col1B=rnd(255) : col2R=rnd(255) : col2G=rnd(255) : col2B=rnd(255) : nokey=1
if onb=0 and returnkey()=0 then if offmode=0 then offset=offset-1 else offset=offset+1
if col1R+offset=<255 and col1R+offset=>0 then col1Rf = col1R+offset else if col1R+offset>255 then col1Rf=255 else col1Rf=0
if col1G+offset=<255 and col1G+offset=>0 then col1Gf = col1G+offset else if col1G+offset>255 then col1Gf=255 else col1Gf=0
if col1B+offset=<255 and col1B+offset=>0 then col1Bf = col1B+offset else if col1B+offset>255 then col1Bf=255 else col1Bf=0
if col2R+offset=<255 and col2R+offset=>0 then col2Rf = col2R+offset else if col2R+offset>255 then col2Rf=255 else col2Rf=0
if col2G+offset=<255 and col2G+offset=>0 then col2Gf = col2G+offset else if col2G+offset>255 then col2Gf=255 else col2Gf=0
if col2B+offset=<255 and col2B+offset=>0 then col2Bf = col2B+offset else if col2B+offset>255 then col2Bf=255 else col2Bf=0
box 0,0,SCREEN WIDTH(),SCREEN HEIGHT(),RGB(col1Rf,col1Gf,col1Bf),RGB(col2Rf,col2Gf,col2Bf),RGB(col1Rf,col1Gf,col1Bf),RGB(col2Rf,col2Gf,col2Bf)
if onb=0 then if col1Rf=0 and col1Gf=0 and col1Bf=0 and col2Rf=0 and col2Gf=0 and col2Bf=0 then offmode=1 : on=1 : time = 1000
if onb=0 then if col1Rf=255 and col1Gf=255 and col1Bf=255 and col2Rf=255 and col2Gf=255 and col2Bf=255 then offmode=0 : on=1 : time = 1000
if nowait=1 then if onb=0 then if col1Rf=0 and col1Gf=0 and col1Bf=0 and col2Rf=0 and col2Gf=0 and col2Bf=0 then offmode=1
if onb=0 then if col1Rf=255 and col1Gf=255 and col1Bf=255 and col2Rf=255 and col2Gf=255 and col2Bf=255 then offmode=0
center text (SCREEN WIDTH()/2)+rnd(10),(SCREEN HEIGHT()/2)+rnd(10),"Press Shift!!!"
if nowait=0
if on=1 then onb=1 : endtime=timer()+time : on=0
if onb=1 then if timer()=>endtime then onb=0
if spacekey()=1 then exit : if shiftkey()=0 then nokey=0
endif
sync : loop
And found another bug: With the "nowait", the program can only chage colors once.
Fixed it by removing doube key pressing detection and adding a wait command.
if cl$()="nowait" then nowait=1 : sync on : col1R=223 : col1G=239 : col1B=255 : col2R=0 : col2G=32 : col2B=64 : ink -1,0
do
if shiftkey()=1 then col1R=rnd(255) : col1G=rnd(255) : col1B=rnd(255) : col2R=rnd(255) : col2G=rnd(255) : col2B=rnd(255) : wait 100
if onb=0 and returnkey()=0 then if offmode=0 then offset=offset-1 else offset=offset+1
if col1R+offset=<255 and col1R+offset=>0 then col1Rf = col1R+offset else if col1R+offset>255 then col1Rf=255 else col1Rf=0
if col1G+offset=<255 and col1G+offset=>0 then col1Gf = col1G+offset else if col1G+offset>255 then col1Gf=255 else col1Gf=0
if col1B+offset=<255 and col1B+offset=>0 then col1Bf = col1B+offset else if col1B+offset>255 then col1Bf=255 else col1Bf=0
if col2R+offset=<255 and col2R+offset=>0 then col2Rf = col2R+offset else if col2R+offset>255 then col2Rf=255 else col2Rf=0
if col2G+offset=<255 and col2G+offset=>0 then col2Gf = col2G+offset else if col2G+offset>255 then col2Gf=255 else col2Gf=0
if col2B+offset=<255 and col2B+offset=>0 then col2Bf = col2B+offset else if col2B+offset>255 then col2Bf=255 else col2Bf=0
box 0,0,SCREEN WIDTH(),SCREEN HEIGHT(),RGB(col1Rf,col1Gf,col1Bf),RGB(col2Rf,col2Gf,col2Bf),RGB(col1Rf,col1Gf,col1Bf),RGB(col2Rf,col2Gf,col2Bf)
if onb=0 then if col1Rf=0 and col1Gf=0 and col1Bf=0 and col2Rf=0 and col2Gf=0 and col2Bf=0 then offmode=1 : on=1 : time = 1000 : if onb=0 then if col1Rf=255 and col1Gf=255 and col1Bf=255 and col2Rf=255 and col2Gf=255 and col2Bf=255 then offmode=0 : on=1 : time = 1000
if nowait=1 then if onb=0 then if col1Rf=0 and col1Gf=0 and col1Bf=0 and col2Rf=0 and col2Gf=0 and col2Bf=0 then offmode=1 : if onb=0 then if col1Rf=255 and col1Gf=255 and col1Bf=255 and col2Rf=255 and col2Gf=255 and col2Bf=255 then offmode=0
center text (SCREEN WIDTH()/2)+rnd(10),(SCREEN HEIGHT()/2)+rnd(10),"Press Shift!!!"
if nowait=0
if on=1 then onb=1 : endtime=timer()+time : on=0
if onb=1 then if timer()=>endtime then onb=0
if spacekey()=1 then exit
endif
sync : loop
-Ilya