Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local lgamec = require("lgamec")
- lgamec.setup("right")
- lgamec.fillScreen(colors.black)
- lgamec.lggSetDefBG(colors.black)
- scene = lgamec.createScene(1,1,lgamec.getSize().x,lgamec.getSize().y,false)
- scene:draw()
- scene:fillScreen(colors.white)
- scene:drawText(2,2,colors.black,colors.white," RACING GAME | TIMUZKAS")
- scene:drawBT("start",2,20,5,8,colors.white,colors.black," Start")
- while true do
- local event, button, x, y = os.pullEvent( "mouse_click" )
- if scene:isButton(x,y) == "start" then
- scene:hide()
- break
- else
- end
- end
- game = lgamec.createScene(1,1,lgamec.getSize().x,lgamec.getSize().y)
- game:fillScreen(colors.brown)
- game:drawSprite("road",2,1,shell.dir().."/road.nfp")
- cary = lgamec.getSize().y-5
- game:drawSprite("car",12,cary,shell.dir().."/car.nfp")
- lanel = {12,25,38}
- lane = 1
- function control()
- while true do
- local event, key = os.pullEvent("key")
- if key == keys.d then
- if lane < 3 then
- lane = lane + 1
- end
- elseif key == keys.a then
- if lane > 1 then
- lane = lane - 1
- end
- end
- end
- end
- function loosef()
- game:hide()
- lgamec.fillScreen(colors.red)
- lgamec.drawText(1,lgamec.getSize().y/2,colors.white,colors.red,"YOU DIED!")
- os.sleep(1)
- lgamec.clear()
- lgamec.setCursorPos(1,1)
- end
- function winf()
- game:hide()
- lgamec.fillScreen(colors.green)
- lgamec.drawText(1,lgamec.getSize().y/2,colors.white,colors.red,"YOU WON!")
- os.sleep(1)
- lgamec.clear()
- lgamec.setCursorPos(1,1)
- end
- lanes2 = {t1 = {16,16,1515,14,14,13,13,12,12},
- t2 = {26,26,26,26,26,26,26,26,26,26},
- t3 = {34,35,35,36,36,37,37,38,38,39}}
- inlane = {16,30,41}
- function drawIndicator(linen,line,slt)
- for i=1,5 do
- game:moveSprite("in"..linen,inlane[line],2,false)
- os.sleep(slt)
- end
- end
- game:drawSprite("car2",lanes2["t1"][1],5,"car2.nfp")
- local ii = 2
- sleept = 0.8
- score = 0
- local l2 = "t1"
- loose = false
- lvl = 1
- function gamef()
- while true do
- ii = ii + 1
- game:moveSprite("car2",lanes2[l2][ii],2+ii,true)
- game:moveSprite("car",lanel[lane],cary,true)
- lgamec.fillScreen(colors.brown)
- game:moveSprite("road",2,1)
- game:moveSprite("car2",lanes2[l2][ii],2+ii)
- game:moveSprite("car",lanel[lane],cary)
- game:drawText(1,lgamec.getSize().y,colors.black,colors.white,"SCORE: "..score.." | LVL: "..lvl.." | "..sleept)
- os.sleep(sleept)
- if (ii == 9) then
- if game:isColiding("car","car2") then
- loose = true
- break
- else
- ii = 2
- nl2 = math.random(1,3)
- l2 = "t"..tostring(nl2)
- if (sleept < 0.2) then
- sleept = 0
- else
- sleept = sleept - 0.2
- end
- score = score + 1
- if (sleept == 0 ) then
- break
- end
- end
- end
- end
- end
- parallel.waitForAny(gamef,control)
- game:drawSprite("car3",lanes2["t3"][1],5,shell.dir().."/car2.nfp")
- function gamef2()
- local ii = 2
- sleept = 0.8
- local l2 = "t1"
- local l22 = "t3"
- loose = false
- while true do
- ii = ii + 1
- game:moveSprite("car2",lanes2[l2][ii],2+ii,true)
- game:moveSprite("car3",lanes2[l22][ii],2+ii,true)
- game:moveSprite("car",lanel[lane],cary,true)
- lgamec.fillScreen(colors.brown)
- game:moveSprite("road",2,1)
- game:moveSprite("car2",lanes2[l2][ii],2+ii)
- game:moveSprite("car2",lanes2[l22][ii],2+ii)
- game:moveSprite("car",lanel[lane],cary)
- game:drawText(1,lgamec.getSize().y,colors.black,colors.white,"SCORE: "..score.." | LVL: "..lvl)
- os.sleep(sleept)
- if (ii == 9) then
- if game:isColiding("car","car2") or game:isColiding("car","car3") then
- loose = true
- break
- else
- ii = 2
- nl2 = math.random(1,3)
- l2 = "t"..tostring(nl2)
- repeat
- nl22 = math.random(1,3)
- l22 = "t"..tostring(l22)
- until l22 ~= l2
- if (sleept < 0.21) then
- sleept = 0
- else
- sleept = sleept - 0.2
- end
- score = score + 1
- if (sleept == 0 ) then
- break
- end
- end
- end
- end
- end
- if loose then
- loosef()
- else
- lvl = 2
- parallel.waitForAny(gamef2,control)
- if (loose) then
- loosef()
- else
- winf()
- end
- end
- lgamec.exit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement