I'm fairly new to Lua and I'm coding a program. The program is letter going around and collecting other letters (kinda like the worm program). However, i want this to be timed. (I'm on computercraft which is a mod for minecraft but still uses Lua, so i don't think that matters) I'm using an os.PullEvent( "key" ) so that i can move the letter, but os.pullEvent() will pause the program until it's satisfied. My problem is that i want a timer to be constantly ticking at the same time. Any ideas as to how i could do this? Thanks!
term.clear()
w = 1
h = 1
score = 0
function topLine()
term.setTextColor(colors.orange)
term.setCursorPos(5,1)
print("Score: ", score)
end
function randLoc()
w,h = math.random(2,50) , math.random(3,17)
term.setCursorPos(w,h)
term.setTextColor(colors.red)
print"O"
end
function drawBorder()
term.setTextColor(colors.blue)
term.setCursorPos(1,2)
print"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
print"X X"
print"X X"
print"X X"
print"X X"
print"X X"
print"X X"
print"X X"
print"X X"
print"X X"
print"X X"
print"X X"
print"X X"
print"X X"
print"X X"
print"X X"
print"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
end
function checkTouch()
if x ~= w or y ~= h then
term.setCursorPos(w,h)
term.setTextColor(colors.red)
print"O"
elseif x == w and y == h then
w,h = math.random(2,50) , math.random(3,17)
term.setCursorPos(w,h)
term.setTextColor(colors.red)
print"O"
score=score+1
end
end
x = 2
y = 3
randLoc()
while true do
topLine()
drawBorder()
checkTouch()
term.setCursorPos(x,y)
term.setTextColor(colors.lime)
print"T"
local e,move = os.pullEvent( "key" )
if move == 30 or move == 203 then
x=x-1
if x <= 1 then
x = 2
end
end
if move == 32 or move == 205 then
x=x+1
if x >= 51 then
x = 50
end
end
if move == 31 or move == 208 then
y=y+1
if y >= 18 then
y = 17
end
end
if move == 17 or move == 200 then
y=y-1
if y <= 2 then
y = 3
end
end
term.clear()
end