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)



2

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


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.



[Please log in to post a comment]