
-----------------------------------
iop
Sun Aug 29, 2004 10:12 pm

elevator help
-----------------------------------
using the fromTopToMiddle procedure if a person clicks on the middle button while the elevator is at the top, I want the elevator to go down to the middle.  how can i do this?

var x, y, b : int

proc fromTopToMiddle
    drawfillbox (maxx div 2 - 22, 3, maxx div 2 + 22, 197, white)
    drawfillbox (maxx div 2 - 20, 45, maxx div 2 + 20, 5, red)
    for decreasing up : 150 .. 80
        drawfillbox (maxx div 2 - 20, 45, maxx div 2 + 20, 5, white)
        drawfillbox (maxx div 2 - 20, 5 + up + 40, maxx div 2 + 20, 5 + up, red)
        delay (10)
        drawfillbox (maxx div 2 - 20, 5 + up + 40, maxx div 2 + 20, 5 + up, white)
    end for
    drawfillbox (maxx div 2 - 20, 195, maxx div 2 + 20, 155, red)
end fromTopToMiddle

proc fromMiddleToTop
    drawfillbox (maxx div 2 - 22, 3, maxx div 2 + 22, 197, white)
    drawfillbox (maxx div 2 - 20, 45, maxx div 2 + 20, 5, red)
    for up : 80 .. 150
        drawfillbox (maxx div 2 - 20, 45, maxx div 2 + 20, 5, white)
        drawfillbox (maxx div 2 - 20, 5 + up + 40, maxx div 2 + 20, 5 + up, red)
        delay (10)
        drawfillbox (maxx div 2 - 20, 5 + up + 40, maxx div 2 + 20, 5 + up, white)
    end for
    drawfillbox (maxx div 2 - 20, 195, maxx div 2 + 20, 155, red)
end fromMiddleToTop

proc fromGroundToMiddle
    drawfillbox (maxx div 2 - 22, 3, maxx div 2 + 22, 197, white)
    drawfillbox (maxx div 2 - 20, 45, maxx div 2 + 20, 5, red)
    for up : 0 .. 80
        drawfillbox (maxx div 2 - 20, 45, maxx div 2 + 20, 5, white)
        drawfillbox (maxx div 2 - 20, 5 + up + 40, maxx div 2 + 20, 5 + up, red)
        delay (10)
        drawfillbox (maxx div 2 - 20, 5 + up + 40, maxx div 2 + 20, 5 + up, white)
    end for
    drawfillbox (maxx div 2 - 20, 125, maxx div 2 + 20, 85, red)
end fromGroundToMiddle

for drawing : 23 .. 25
    drawline (maxx div 2 - drawing, 0, maxx div 2 + drawing, 0, black)
    drawline (maxx div 2 - drawing, 1, maxx div 2 + drawing, 1, black)
    drawline (maxx div 2 - drawing, 2, maxx div 2 + drawing, 2, black)
    drawline (maxx div 2 - drawing, 0, maxx div 2 - drawing, 200, black)
    drawline (maxx div 2 - drawing, 0, maxx div 2 - drawing, 200, black)
    drawline (maxx div 2 - drawing, 0, maxx div 2 - drawing, 200, black)
    drawline (maxx div 2 + drawing, 0, maxx div 2 + drawing, 200, black)
    drawline (maxx div 2 + drawing, 0, maxx div 2 + drawing, 200, black)
    drawline (maxx div 2 + drawing, 0, maxx div 2 + drawing, 200, black)
    drawline (maxx div 2 - drawing, 198, maxx div 2 + drawing, 198, black)
    drawline (maxx div 2 - drawing, 199, maxx div 2 + drawing, 199, black)
    drawline (maxx div 2 - drawing, 200, maxx div 2 + drawing, 200, black)
end for
drawfillbox (maxx div 2 - 20, 45, maxx div 2 + 20, 5, red)
drawfillbox (390, 160, 400, 170, blue)
locate (14, 45)
put "Call button."
drawfillbox (390, 98, 400, 108, blue)
locate (18, 45)
put "Call button."
drawfillbox (maxx - 10, 10, maxx - 40, 40, black)
locate (22, 76)
put "Exit"

loop
    mousewhere (x, y, b)
    if x >= 390 and x = 98 and y = 390 and x = 160 and y = maxx - 40 and x = 10 and y 