Log In  

x=64
y=30

r=5

g=0.1

dx=2
dy=0

floor=100

elastic=0.95 
air_res=0.999       

function _update()

 dx=dx*air_res

    dy=dy+g

    x=x+dx
    y=y+dy

 if y>(floor-r) then

    dy=-(dy*elastic)
    y=(floor-r)
 end

 if x<r then
    dx=-(dx*elastic)
    x=r
 end
 if x>(128-r) then
    dx=-(dx*elastic)
    x=128-r

    --mouse check
if stat(32)==x then print("aaaaaaaaa")
 end
end

function _draw()
            cls()
    rectfill(0,floor,128,128,5)
    circfill(x,y,r,8)

        poke(0x5f2d, 1)
    spr(0,stat(32)-1,stat(33)-1)
    print(stat(34))

end

if you can please tell me how to fix this

P#128313 2023-04-08 21:16

2

Looks like a missing end after x=128-r

P#128314 2023-04-08 21:51
3

Here's a tip that I use - if you open anything (if statement, function, parentheses, etc) instantly close it. Then you can type inside it knowing that you won't forget to close it. Pico-8 has a trick for this as well: type "function my_function()" or "if bool then" or "while bool do" and then press SHIFT + ENTER. This auto-completes the statement and moves your cursor inside it so you can start typing.

P#128795 2023-04-20 13:18 ( Edited 2023-04-20 13:19)

If there appears an UNCLOSE error, it's usual that you forget to add an end in the if, loop or function blocks. And yeah, that's what I often meet when I try to run my demo cart.

Look at the code below and you'll figure out where you forgot an end.

function _update()

 dx=dx*air_res

    dy=dy+g

    x=x+dx
    y=y+dy

 if y>(floor-r) then

    dy=-(dy*elastic)
    y=(floor-r)
 end

 if x<r then
    dx=-(dx*elastic)
    x=r
 end
 if x>(128-r) then
    dx=-(dx*elastic)
    x=128-r

    --mouse check
if stat(32)==x then print("aaaaaaaaa")
 end
end
P#133146 2023-08-16 15:32

[Please log in to post a comment]