
-----------------------------------
tttptiago
Thu Jun 07, 2007 11:31 am

Racing Game !!! Complete game with a lap counter problem !!!!!!! Please Help
-----------------------------------
The Code is complete, and the game works. The only problems that im having is making the lap counter work. When the "racer" crosses the finish line my lap procedue does no work. i want the "racer" to do 3 laps. 

Any help is greatly appreciated !
Mess with the code all you want , as long as positive production is completed. 

THNX !



setscreen ("graphics")

var font1 : int
var keys : array char of boolean
var x, y : int
var lap : int := 0
font1 := Font.New ("Arial :20")
x := 230
y := 40

colorback (255)
cls
procedure Track

    drawline (190, 30, 190, 60, 70) % finishline

    drawline (1, 1, maxx, 1, 79) %Border
    drawline (maxx - 1, 1, maxx - 1, maxy - 1, 79) %Border
    drawline (maxx - 1, maxy - 1, 1, maxy - 1, 79) %Boreder
    drawline (1, maxy - 1, 1, 1, 79) %Border

    drawline (75, 30, 500, 30, 0) %Track Outside
    drawline (500, 30, 500, 100, 0) %Track Outside
    drawline (500, 100, 560, 100, 0) %Track Outside
    drawline (560, 100, 560, 300, 0) %Track Outside
    drawline (560, 300, 480, 300, 0) %Track Outside
    drawline (480, 300, 480, 370, 0) %Track Outside
    drawline (480, 370, 300, 370, 0) %Track Outside
    drawline (300, 370, 300, 270, 0) %Track Outside
    drawline (300, 270, 240, 270, 0) %Track Outside
    drawline (240, 270, 240, 350, 0) %Track Outside
    drawline (240, 350, 75, 350, 0) %Track Outside
    drawline (75, 350, 75, 30, 0) %Track Outside


    drawline (105, 60, 470, 60, 0) %Track Inside
    drawline (470, 60, 470, 130, 0) %Track Inside
    drawline (470, 130, 530, 130, 0) %Track Inside
    drawline (530, 130, 530, 270, 0) %Track Inside
    drawline (530, 270, 450, 270, 0) %Track Inside
    drawline (450, 270, 450, 340, 0) %Track Inside
    drawline (450, 340, 330, 340, 0) %Track Inside
    drawline (330, 340, 330, 240, 0) %Track Inside
    drawline (330, 240, 210, 240, 0) %Track Inside
    drawline (210, 240, 210, 310, 0) %Track Inside
    drawline (210, 310, 105, 310, 0) %Track Inside
    drawline (105, 310, 105, 60, 0) %Track Inside


end Track

procedure Char

    Draw.FillBox (x, y, x + 10, y + 5, 10)
    Draw.FillBox (x, y + 5, x, y, 255)
    Draw.FillBox (x + 10, y, x, y, 255)
    Draw.FillBox (x, y, x + 10, y, 255)
    Draw.FillBox (x + 10, y, x + 10, y + 5, 255)
    Draw.FillBox (x + 10, y, x, y, 255)
    Draw.FillBox (x, y + 5, x + 10, y + 5, 255) 

end Char


procedure Keys

    Input.KeyDown (keys)

    if keys (KEY_RIGHT_ARROW)
            then
        delay (4) % Sets Speed
        x += 1

    elsif keys (KEY_LEFT_ARROW)
            then
        delay (4)
        x -= 1

    elsif keys (KEY_UP_ARROW)
            then
        delay (4)
        y += 1

    elsif keys (KEY_DOWN_ARROW)
            then
        delay (4)
        y -= 1

    end if

end Keys

procedure Collision



    if whatdotcolour (x + 5, y + 5) = 8
            or whatdotcolour (x + 10, y) = 8
            or whatdotcolour (x - 1, y) = 8
            or whatdotcolour (x + 5, y + 5) = 0
            or whatdotcolour (x + 10, y) = 0
            or whatdotcolour (x - 1, y) = 0

            then
        Font.Draw ("YOU HAVE CRASHED!", 170, 190, font1, 8)
        delay (1000)

        Font.Draw ("GAME OVER!", 220, 130, font1, red)
        delay (1000)





    end if

end Collision


    if x = 190 and y >= 30 and y = 30 and y 