Log In  

function _init()
    chosen = 1
    mode = "menu"
    level = 1
    selx = 64
    sely = 64
    sinceshot = 0
    shotx = 64
    shoty = 64
    cls()
end

function _update()

    cls()
    if mode=="menu" then
        if chosen==16 then
            print("no-scope mode?! 16 ⬆️/⬇️/🅾️", 1, 1, 11)
            print("(x, y) will be provided instead", 1, 10, 7)
            print("warning: extremely difficult!", 1, 19, 8)
        else
            if chosen>10 then
                print("novelty crosshair " .. tostr(chosen) .. " ⬆️/⬇️/🅾️", 1, 1, 10)
            else
                print("crosshair " .. tostr(chosen) .. " ⬆️/⬇️/🅾️", 1, 1, 6)
            end 
        end
        spr((chosen - 1), 60, 60)

        if btnp(🅾️) then mode = "game" end
        if btnp(⬆️) then chosen += 1 end
        if btnp(⬇️) then chosen -= 1 end
        if chosen>16 then chosen = 16 end
        if chosen<1 then chosen = 1 end
    else if mode=="game" then

        rectfill(o, o, 128, 128, 12)

        spr(chosen-1, selx, sely)

        if sinceshot == 0 then
            spr(64, shotx, shoty, 2, 2)
        else if sinceshot == 1 then
            spr(66, shotx, shoty, 2, 2)
        else if sinceshot == 2 then
            spr(68, shotx, shoty, 2, 2)
        else if sinceshot == 3 then
            spr(70, shotx, shoty, 2, 2)
        else if sinceshot == 4 then
            spr(72, shotx, shoty, 2, 2)
        else if sinceshot == 5 then
            spr(74, shotx, shoty, 2, 2)
        end

        if btn(⬆️) then sely -= 1 end
        if btn(⬇️) then sely += 1 end
        if btn(➡️) then selx += 1 end
        if btn(⬅️) then selx -= 1 end
        if (btn(❎) and sinceshot>5) then
         sinceshot=0
         shotx = selx
         shoty = sely
        else sinceshot += 1 end

    end
    end
end

Hi! When I try to run this code, I get errors saying I didn't close IF statements that I did close...

(namely line 41)

P#128976 2023-04-24 22:34

2

Lua's "else if" statement is one word, "elseif". I ran into the same issue several times :)

P#128978 2023-04-25 01:04

What @yaky said. In lua syntax, you can do either of these:

-- the lua elseif keyword way
if blah then
  ...
elseif foo then
  ...
end

-- same as what you had, but with a newline after else to clarify how it's parsed
if blah then
  ...
else
  if foo then
    ...
  end
end

There are times when the second version is useful because you want to do a little prep work before, or cleanup after, you do the secondary if block.

P#129072 2023-04-27 04:45 ( Edited 2023-04-27 04:46)

[Please log in to post a comment]