prev_x = -1;
prev_y = -1;
XX = 1
x = 1
y = 1
ZZ = 1
ZC = 0
ZD = 0
Red = 255
Green = 255
Blue = 255
BG = 0
PPP = 255
BGD = 255
RedBG1 = 255
GreenBG1 = 255
BlueBG1 = 255
RedBG2 = 255
GreenBG2 = 255
BlueBG2 = 255
RedBG = 255
GreenBG = 255
BlueBG = 255
Rainbow = 0
Red1 = 0
Green1 = 0
Blue1 = 0
PPPP = 0
PPP1 = 0

function RAINBOW1()

if Red == 255 and Red1 == 0 then
Red1 = 1
elseif Red1 == 0 and Red != 255 then
Red = Red + 1
elseif Red1 == 1 and Red != 0 then
Red = Red - 1
elseif Red == 0 and Red1 == 1 then
Red1 = 0
endif;

if Blue == 255 and Blue1 == 0 then
Blue1 = 1
elseif Blue1 == 0 and Blue != 255 then
Blue = Blue + 1
elseif Blue1 == 1 and Blue != 0 then
Blue = Blue - 1
elseif Blue == 0 and Blue1 == 1 then
Blue1 = 0
endif;

if Green == 255 and Green1 == 0 then
Green1 = 1
elseif Green1 == 0 and Green != 255 then
Green = Green + 1
elseif Green1 == 1 and Green != 0 then
Green = Green - 1
elseif Green == 0 and Green1 == 1 then
Green1 = 0
endif;

color(Red, Green, Blue)

endfunc;

function RAINBOW2()

if Red == 255 and Red1 == 0 then
Red1 = 1
Green1 = 0
elseif Red1 == 0 and Red != 255 then
Red = Red + 1
elseif Red1 == 1 and Red != 0 then
Red = Red - 1
elseif Red == 0 and Red1 == 1 then
Red1 = -1
endif;

if Blue == 255 and Blue1 == 0 then
Blue1 = 1
Red1 = 0
elseif Blue1 == 0 and Blue != 255 then
Blue = Blue + 1
elseif Blue1 == 1 and Blue != 0 then
Blue = Blue - 1
elseif Blue == 0 and Blue1 == 1 then
Blue1 = -1
endif;

if Green == 255 and Green1 == 0 then
Green1 = 1
Blue1 = 0
elseif Green1 == 0 and Green != 255 then
Green = Green + 1
elseif Green1 == 1 and Green != 0 then
Green = Green - 1
elseif Green == 0 and Green1 == 1 then
Green1 = -1
endif;

color(Red, Green, Blue)

endfunc;

function RAINBOW3 ()

PPPP = random(1, 1)

if PPP > 254 and PPP1 == 0 then
PPP1 = 1
elseif PPP1 == 0 and PPP != 255 then
PPP = PPP + PPPP
elseif PPP1 == 1 and PPP != 0 then
PPP = PPP - PPPP
elseif PPP < 1 and PPP1 == 1 then
PPP1 = 0
endif;

PPP = toReal(PPP)
spriteMove(Slider, 600, (PPP/255*71))

endfunc;

function Z()
if (prev_x - x) > 10 or (prev_x - x) < -10 then
ZD = 1
elseif (prev_x - x) > 5 or (prev_x - x) < -5 then
ZC = 1
ZD = 0
else
ZC = 0
ZD = 0
endif

if (prev_y - y) > 10 or (prev_y - y) < -10 then
elseif (prev_y - y) > 5 or (prev_y - y) < -5 then
else
ZC = 0
ZD = 0
endif;

endfunc;

println("Do not use in fullscreen")

white = loadImage("white.png");
black = loadImage("black.png");
blue = loadImage("blue.png")
green = loadImage("green.png")
pink = loadImage("pink.png")
yellow = loadImage ("yellow.png")
blight = loadImage ("blight.png")
red = loadImage ("red.png")
X1 = loadImage ("X1.png")
X2 = loadImage ("X2.png")
X3 = loadImage ("X3.png")
SlideBar = loadImage ("SlideBar.png")
Slider = loadImage ("Slider.png")
SliderBG = loadImage ("SliderBG.png")
Box = loadImage ("Box.png")

white = toSprite(white);
black = toSprite(black);
blue = toSprite(blue)
green = toSprite(green)
pink = toSprite(pink)
yellow = toSprite (yellow)
blight = toSprite (blight)
red = toSprite (red)
X1 = toSprite (X1)
X2 = toSprite (X2)
X3 = toSprite (X3)
SlideBar = toSprite (SlideBar)
Slider = toSprite (Slider)
SliderBG = toSprite (SliderBG)
Box = toSprite (Box)

spriteVisible(white, TRUE);
spriteVisible(black, TRUE);
spriteVisible(blue, TRUE);
spriteVisible(green, TRUE);
spriteVisible(pink, TRUE);
spriteVisible(yellow, TRUE);
spriteVisible(blight, TRUE);
spriteVisible(red, TRUE);
spriteVisible(X1, TRUE);
spriteVisible(X2, TRUE);
spriteVisible(X3, TRUE);
spriteVisible(SlideBar, TRUE);
spriteVisible(Slider, TRUE);
spriteVisible(SliderBG, TRUE);

spriteMove(white, 600, 441);
spriteMove(blue, 600, 405)
spriteMove(black, 600, 369)
spriteMove(green, 600, 333)
spriteMove(pink, 600, 297)
spriteMove(yellow, 600, 261)
spriteMove(blight, 600, 225)
spriteMove(red, 600, 189)
spriteMove(X1, 600, 153)
spriteMove(X2, 600, 117)
spriteMove(X3, 600, 081)
spriteMove(SlideBar, 600, 001)
spriteMove(Slider, 600, 070)
spriteMove(SliderBG, 600, 002)


while TRUE do
    if mouseButtonPressed(1) then
        
 x = mouseX();
        y = mouseY();
        
 if x >= 599 and y >= 441 then
 Red = 255
 Green = 255
 Blue = 255
 Rainbow = 0
 elseif x > 599 and y > 405 then
 Red = 000
 Green = 000
 Blue = 255
 Rainbow = 0
  elseif x > 599 and y > 369 then
  Red = 000
  Green = 000
  Blue = 000
 Rainbow = 0
  elseif x > 599 and y > 333 then
  Red = 000
  Green = 255
  Blue = 000
 Rainbow = 0
  elseif x > 599 and y > 297 then
  Red = 255
  Blue = 255
  Green = 000
 Rainbow = 0
  elseif x > 599 and y > 261 then
  Red = 255
  Blue = 000
  Green = 255
 Rainbow = 0
 elseif x > 599 and y > 225 then
 Red = 000
 Blue = 255
 Green = 255
 Rainbow = 0
 elseif x > 599 and y > 189 then
 Red = 255
 Blue = 000
 Green = 000
 Rainbow = 0
 elseif x > 599 and y > 153 then
 XX = 1
 elseif x > 599 and y > 117 then
 XX = 2
 elseif x > 599 and y > 81 then 
 XX = 3
 elseif x > 599 and y > 7 and y < 77 then
 y = mouseY();
        spriteMove(Slider, 600, y - 6)
        PPP = toReal(y)
        PPP = ((PPP - 6.0) / (77.0 - 6.0)) * 255.0
        elseif x < 3 and y < 3 then
        repeat 999 times
 print("")
 done;
 elseif prev_x >= 0 and prev_y >= 0 and x >= 0 and y >= 0 then
            color(Red, Green, Blue, PPP)
     if XX == 1 or XX == 2 or XX == 3 then
            line(prev_x, prev_y, x, y);
            
     if XX == 2 or XX == 3 then
            line(prev_x + 1, prev_y, x + 1, y)
            line(prev_x - 1, prev_y, x - 1, y)
            line(prev_x, prev_y + 1, x, y + 1)
            line(prev_x, prev_y - 1, x, y - 1)
            line(prev_x + 2, prev_y, x + 2, y)
            line(prev_x - 2, prev_y, x - 2, y)
            line(prev_x, prev_y + 2, x, y + 2)
            line(prev_x, prev_y - 2, x, y - 2)
            
     if XX == 3 then
            line(prev_x + 3, prev_y, x + 3, y)
            line(prev_x - 3, prev_y, x - 3, y)
            line(prev_x, prev_y + 3, x, y + 3)
            line(prev_x, prev_y - 3, x, y - 3)
            line(prev_x + 4, prev_y, x + 4, y)
            line(prev_x - 4, prev_y, x - 4, y)
            line(prev_x, prev_y + 4, x, y + 4)
            line(prev_x, prev_y - 4, x, y - 4)
            line(prev_x + 5, prev_y, x + 5, y)
            line(prev_x - 5, prev_y, x - 5, y)
            line(prev_x, prev_y + 5, x, y + 5)
            line(prev_x, prev_y - 5, x, y - 5)
 
 endif;
 endif;    
 endif;
 endif;
        prev_x = x;
        prev_y = y;
        
 elseif mouseButtonPressed(3)then

 x = mouseX();
        y = mouseY();
        
 if x >= 599 and y >= 441 then
BG = 1
 RedBG1 = 255
 GreenBG1 = 255
 BlueBG1 = 255
RedBG = toReal(RedBG1)
BlueBG = toReal(BlueBG1)
GreenBG = toReal(GreenBG1)
RedBG2 = RedBG/255*BGD
GreenBG2 = GreenBG/255*BGD
BlueBG2 = BlueBG/255*BGD
 elseif x > 599 and y > 405 then
BG = 1
 RedBG1 = 000
 GreenBG1 = 000
 BlueBG1 = 255
RedBG = toReal(RedBG1)
BlueBG = toReal(BlueBG1)
GreenBG = toReal(GreenBG1)
RedBG2 = RedBG/255*BGD
GreenBG2 = GreenBG/255*BGD
BlueBG2 = BlueBG/255*BGD
  elseif x > 599 and y > 369 then
RedBG1 = 000
BlueBG1 = 000
GreenBG1 = 000
RedBG = toReal(RedBG1)
BlueBG = toReal(BlueBG1)
GreenBG = toReal(GreenBG1)
RedBG2 = RedBG/255*BGD
GreenBG2 = GreenBG/255*BGD
BlueBG2 = BlueBG/255*BGD
BG=1
  elseif x > 599 and y > 333 then
BG = 1
  RedBG1 = 000
  GreenBG1 = 255
  BlueBG1 = 000
RedBG = toReal(RedBG1)
BlueBG = toReal(BlueBG1)
GreenBG = toReal(GreenBG1)
RedBG2 = RedBG/255*BGD
GreenBG2 = GreenBG/255*BGD
BlueBG2 = BlueBG/255*BGD
  elseif x > 599 and y > 297 then
BG = 1
  RedBG1 = 255
  BlueBG1 = 255
  GreenBG1 = 000
RedBG = toReal(RedBG1)
BlueBG = toReal(BlueBG1)
GreenBG = toReal(GreenBG1)
RedBG2 = RedBG/255*BGD
GreenBG2 = GreenBG/255*BGD
BlueBG2 = BlueBG/255*BGD
  elseif x > 599 and y > 261 then
BG = 1
  RedBG1 = 255
  BlueBG1 = 000
  GreenBG1 = 255
RedBG = toReal(RedBG1)
BlueBG = toReal(BlueBG1)
GreenBG = toReal(GreenBG1)
RedBG2 = RedBG/255*BGD
GreenBG2 = GreenBG/255*BGD
BlueBG2 = BlueBG/255*BGD
 elseif x > 599 and y > 225 then
BG = 1
 RedBG1 = 000
 BlueBG1 = 255
 GreenBG1 = 255
RedBG = toReal(RedBG1)
BlueBG = toReal(BlueBG1)
GreenBG = toReal(GreenBG1)
RedBG2 = RedBG/255*BGD
GreenBG2 = GreenBG/255*BGD
BlueBG2 = BlueBG/255*BGD
 elseif x > 599 and y > 189 then
BG = 1
 RedBG1 = 255
 BlueBG1 = 000
 GreenBG1 = 000
RedBG = toReal(RedBG1)
BlueBG = toReal(BlueBG1)
GreenBG = toReal(GreenBG1)
RedBG2 = RedBG/255*BGD
GreenBG2 = GreenBG/255*BGD
BlueBG2 = BlueBG/255*BGD
 elseif x > 599 and y > 153 then
 Rainbow = 1
 elseif x > 599 and y > 117 then
 Red = 0
 Green = 0
 Blue = 0
 Red1 = 0
 Green1 = -1
 Blue1 = -1
 Rainbow = 2
 elseif x > 599 and y > 81 then 
 Rainbow = 3
 DDD = 254
 elseif x > 599 and y > 7 and y < 77 then
 DEF = mouseY();
 BG = 1
        spriteMove(SliderBG, 600, DEF - 6)
        BGD = toReal(DEF)
        BGD = ((BGD - 6.0) / (77.0 - 6.0)) * 255.0
RedBG = toReal(RedBG1)
BlueBG = toReal(BlueBG1)
GreenBG = toReal(GreenBG1)
RedBG2 = RedBG/255*BGD
GreenBG2 = GreenBG/255*BGD
BlueBG2 = BlueBG/255*BGD
 elseif x < 5 and y < 5 then
 repeat 9 times
 RAINBOW2()
 background(Red, Green, Blue)
 cls()
 wait (1)
 done;
 elseif prev_x >= 0 and prev_y >= 0 and x >= 0 and y >= 0 then
 color(Red, Green, Blue, PPP)
 spriteMove(Box, x, y)
 spriteVisible(Box, FALSE)
 while mouseButtonPressed(3) do
 x = mouseX();
        y = mouseY();
        
        Z()
        done 
 line(prev_x, prev_y, prev_x, y)
 line(prev_x, prev_y, x, prev_y)
 line(prev_x, y, x, y)
 line(x, prev_y, x, y)
 if XX == 2 and ZC == 1 then
 for p = 1 to 5 do
 line(prev_x + p, prev_y + p, prev_x + p, y + p)
 line(prev_x + p, prev_y + p, x + p, prev_y + p)
 line(prev_x + p, y + p, x + p, y + p)
 line(x + p, prev_y + p, x + p, y + p)
 done;
 elseif XX == 3 and ZD == 1 then
 for p = 1 to 10 do
 line(prev_x + p, prev_y + p, prev_x + p, y + p)
 line(prev_x + p, prev_y + p, x + p, prev_y + p)
 line(prev_x + p, y + p, x + p, y + p)
 line(x + p, prev_y + p, x + p, y + p)
 done;
 endif;
 else
        prev_x = x;
        prev_y = y;
 endif;
    else
        prev_x = -1;
        prev_y = -1;
    endif;

if BG == 1 then
background(RedBG2, GreenBG2, BlueBG2)
cls()
BG = 0
endif;
if Rainbow == 1 then
RAINBOW1()
elseif Rainbow == 2 then
RAINBOW2()
elseif Rainbow == 3 then
RAINBOW3()
endif;

    wait(40);
done;