
-----------------------------------
Clayton
Tue May 02, 2006 10:44 pm

trouble getting paint tools to work right....
-----------------------------------
hey, for some reason in my paint program that i decided i wanted to do, the tools dont quite work right, they wont activate properly, could someone plz help with this and see if they could find the problem with my code?

/*
 paint by Clayton Shier
 May 2/06
 just because i want to
 */
View.Set ("graphics")
var x, y, b : int %Mouse.Where vars
var clr : int := black
var choice : string := "b"

proc line (x, y : int)
    const size : int := 10
    Draw.Line (x - size, y - size, x + size, y + size, clr)
end line

proc box (x, y : int)
    const size : int := 20
    Draw.Box (x - size, y - size, x + size, y + size, clr)
end box

proc brush (x, y : int)
    const RADIUS : int := 5
    Draw.FillOval (x, y, RADIUS, RADIUS, clr)
end brush

proc sprayCan (x, y : int)
end sprayCan

proc erase (x, y : int)
    const size : int := 20
    Draw.FillBox (x - size, y - size, x + size, y + size, white)
end erase

proc fill
    Draw.FillBox (82, 102, maxx, maxy, clr)
end fill

proc chooseColor (x, y : int)
    const size : int := 50
    clr := View.WhatDotColor (x, y)
    Draw.FillBox (maxx - size * 2, 0, maxx, size, clr)
end chooseColor

proc shape (x, y : int)
    if x >= 0 and y >= 0 and x = 50 and x = 0 and x = 50 and x = 0 and x = maxy - 280 and x = 0 and x = 100 then
            shape (x, y)
        elsif x >= 82 and y >= 102 then
            if choice = "f" then
                fill
            elsif choice = "b" then
                brush (x, y)
            elsif choice = "bo" then
                box (x, y)
            elsif choice = "e" then
                erase (x, y)
            elsif choice = "s" then
                sprayCan (x, y)
            else
                line (x, y)
            end if
        end if
    end if
end decide

proc drawClrSelect
    const size : int := 20
    var x, y, count : int := 0
    x := 0
    y := maxy - size
    %draws the color palette available
    for i : 0 .. maxcolor by 5
        if count = 4 then
            count := 0
            x := 0
            y -= size
        end if
        Draw.FillBox (x, y - size, x + size, y, i)
        x += size
        count += 1
    end for
end drawClrSelect

proc drawOptnSelect
    const size : int := 50
    var x, y, count : int := 0
    locatexy (7, 15)
    put "Eraser" : 7, "Fill" : 7, "Box"
    locatexy (7, 65)
    put "Spray" : 7, "Brush" : 7, "Line"
    for i : 1 .. 6
        if count = 2 then
            count := 0
            y := 0
            x += size
        end if
        Draw.Box (x, y, x + size, y + size, black)
        y += size
        count += 1
    end for
end drawOptnSelect

%Main Loop
drawClrSelect
drawOptnSelect
loop
    Mouse.Where (x, y, b)
    decide (x, y, b)
end loop

thnx in advance

-----------------------------------
NikG
Tue May 02, 2006 11:12 pm


-----------------------------------
In your decide proc:elsif x >= 0 and y >= 0 and x = 100 then should be elsif x >= 0 and y >= 0 and x 