SHOW:
|
|
- or go back to the newest paste.
| 1 | - | local lgamec = require("lgamec")
|
| 1 | + | local file = fs.open("lgame/lgame","r")
|
| 2 | - | lgamec.setup("right")
|
| 2 | + | if file then |
| 3 | file.close() | |
| 4 | os.loadAPI('/lg/lg')
| |
| 5 | lg.setup('term')
| |
| 6 | os.loadAPI("uap")
| |
| 7 | local lgamec = require("../lgame/lgame")
| |
| 8 | lgamec.setup("term")
| |
| 9 | lg.fillScreen(colors.black) | |
| 10 | local im1 = fs.open("/drivegame/car.nfp","r")
| |
| 11 | if im1 then | |
| 12 | im1.close() | |
| 13 | else | |
| 14 | lg.drawText(1,6,colors.white,colors.black,"Downloading sprites...") | |
| 15 | shell.run("pastebin","get","EnnsawZd","/drivegame/archive")
| |
| 16 | lg.drawText(1,6,colors.white,colors.black,"Downloading sprites... DONE") | |
| 17 | lg.drawText(1,7,colors.white,colors.black,"Unpacking...") | |
| 18 | local arch = fs.open("archive/archive","r")
| |
| 19 | if not arch then | |
| 20 | lg.drawText(1,7,colors.red,colors.black,"DOWNLOAD ARCHIVE FROM UPDATER!") | |
| 21 | os.sleep(4) | |
| 22 | os.reboot() | |
| 23 | end | |
| 24 | shell.run("archive/archive unpack","/drivegame/archive","/drivegame/")
| |
| 25 | lg.drawText(1,7,colors.white,colors.black,"Unpacking... DONE") | |
| 26 | os.sleep(2) | |
| 27 | shell.run("delete","/drivegame/archive")
| |
| 28 | os.sleep(1) | |
| 29 | lg.fillScreen(colors.black) | |
| 30 | ||
| 31 | end | |
| 32 | if lg.getSize().x < 51 then | |
| 33 | lg.drawText(1,7,colors.red,colors.black,"ONLY FOR COMPUTERS!") | |
| 34 | lg.drawText(1,8,colors.red,colors.black,"pastebin run XLpDdvX4") | |
| 35 | os.sleep(4) | |
| 36 | os.reboot() | |
| 37 | end | |
| 38 | lgamec.fillScreen(colors.black) | |
| 39 | lgamec.lggSetDefBG(colors.black) | |
| 40 | scene = lgamec.createScene(1,1,lgamec.getSize().x,lgamec.getSize().y,false) | |
| 41 | scene:draw() | |
| 42 | scene:fillScreen(colors.white) | |
| 43 | scene:drawText(2,2,colors.black,colors.white," RACING GAME | TIMUZKAS") | |
| 44 | - | lgamec.clear() |
| 44 | + | |
| 45 | while true do | |
| 46 | local event, button, x, y = os.pullEvent( "mouse_click" ) | |
| 47 | if scene:isButton(x,y) == "start" then | |
| 48 | scene:hide() | |
| 49 | break | |
| 50 | else | |
| 51 | end | |
| 52 | - | lgamec.clear() |
| 52 | + | |
| 53 | game = lgamec.createScene(1,1,lgamec.getSize().x,lgamec.getSize().y) | |
| 54 | game:fillScreen(colors.brown) | |
| 55 | - | lanes2 = {t1 = {16,16,1515,14,14,13,13,12,12},
|
| 55 | + | |
| 56 | cary = lgamec.getSize().y-5 | |
| 57 | game:drawSprite("car",12,cary,shell.dir().."/car.nfp")
| |
| 58 | lanel = {12,25,38}
| |
| 59 | lane = 1 | |
| 60 | function control() | |
| 61 | while true do | |
| 62 | local event, key = os.pullEvent("key")
| |
| 63 | if key == keys.d then | |
| 64 | if lane < 3 then | |
| 65 | lane = lane + 1 | |
| 66 | end | |
| 67 | elseif key == keys.a then | |
| 68 | if lane > 1 then | |
| 69 | lane = lane - 1 | |
| 70 | end | |
| 71 | end | |
| 72 | end | |
| 73 | end | |
| 74 | function loosef() | |
| 75 | game:hide() | |
| 76 | lgamec.fillScreen(colors.red) | |
| 77 | lgamec.drawText(1,lgamec.getSize().y/2,colors.white,colors.red,"YOU DIED!") | |
| 78 | os.sleep(1) | |
| 79 | lgamec.clearScreen() | |
| 80 | lgamec.setCursorPos(1,1) | |
| 81 | end | |
| 82 | function winf() | |
| 83 | game:hide() | |
| 84 | lgamec.fillScreen(colors.green) | |
| 85 | lgamec.drawText(1,lgamec.getSize().y/2,colors.white,colors.red,"YOU WON!") | |
| 86 | os.sleep(1) | |
| 87 | lgamec.clearScreen() | |
| 88 | lgamec.setCursorPos(1,1) | |
| 89 | end | |
| 90 | lanes2 = {t1 = {16,16,15,15,14,14,13,13,12,12},
| |
| 91 | t2 = {26,26,26,26,26,26,26,26,26,26},
| |
| 92 | t3 = {34,35,35,36,36,37,37,38,38,39}}
| |
| 93 | inlane = {16,30,41}
| |
| 94 | function drawIndicator(linen,line,slt) | |
| 95 | for i=1,5 do | |
| 96 | game:moveSprite("in"..linen,inlane[line],2,false)
| |
| 97 | os.sleep(slt) | |
| 98 | end | |
| 99 | end | |
| 100 | game:drawSprite("car2",lanes2["t1"][1],5,"car2.nfp")
| |
| 101 | local ii = 2 | |
| 102 | sleept = 0.8 | |
| 103 | score = 0 | |
| 104 | local l2 = "t1" | |
| 105 | - | game:drawSprite("car3",lanes2["t3"][1],5,shell.dir().."/car2.nfp")
|
| 105 | + | |
| 106 | lvl = 1 | |
| 107 | function gamef() | |
| 108 | while true do | |
| 109 | ii = ii + 1 | |
| 110 | game:moveSprite("car2",lanes2[l2][ii],2+ii,true)
| |
| 111 | game:moveSprite("car",lanel[lane],cary,true)
| |
| 112 | lgamec.fillScreen(colors.brown) | |
| 113 | game:moveSprite("road",2,1)
| |
| 114 | game:moveSprite("car2",lanes2[l2][ii],2+ii)
| |
| 115 | game:moveSprite("car",lanel[lane],cary)
| |
| 116 | game:drawText(1,lgamec.getSize().y,colors.black,colors.white,"SCORE: "..score.." | LVL: "..lvl.." | "..sleept) | |
| 117 | os.sleep(sleept) | |
| 118 | if (ii == 9) then | |
| 119 | if game:isColiding("car","car2") then
| |
| 120 | loose = true | |
| 121 | break | |
| 122 | else | |
| 123 | ii = 2 | |
| 124 | nl2 = math.random(1,3) | |
| 125 | l2 = "t"..tostring(nl2) | |
| 126 | if (sleept < 0.2) then | |
| 127 | sleept = 0 | |
| 128 | else | |
| 129 | sleept = sleept - 0.2 | |
| 130 | end | |
| 131 | score = score + 1 | |
| 132 | if (sleept == 0 ) then | |
| 133 | break | |
| 134 | - | l22 = "t"..tostring(l22) |
| 134 | + | |
| 135 | end | |
| 136 | end | |
| 137 | end | |
| 138 | end | |
| 139 | parallel.waitForAny(gamef,control) | |
| 140 | game:drawSprite("car3",lanes2["t3"][1],5,"drivegame/car2.nfp")
| |
| 141 | function gamef2() | |
| 142 | local ii = 2 | |
| 143 | sleept = 0.8 | |
| 144 | local l2 = "t1" | |
| 145 | local l22 = "t3" | |
| 146 | loose = false | |
| 147 | while true do | |
| 148 | ii = ii + 1 | |
| 149 | game:moveSprite("car2",lanes2[l2][ii],2+ii,true)
| |
| 150 | game:moveSprite("car3",lanes2[l22][ii],2+ii,true)
| |
| 151 | game:moveSprite("car",lanel[lane],cary,true)
| |
| 152 | lgamec.fillScreen(colors.brown) | |
| 153 | game:moveSprite("road",2,1)
| |
| 154 | game:moveSprite("car2",lanes2[l2][ii],2+ii)
| |
| 155 | game:moveSprite("car2",lanes2[l22][ii],2+ii)
| |
| 156 | game:moveSprite("car",lanel[lane],cary)
| |
| 157 | game:drawText(1,lgamec.getSize().y,colors.black,colors.white,"SCORE: "..score.." | LVL: "..lvl) | |
| 158 | os.sleep(sleept) | |
| 159 | if (ii == 9) then | |
| 160 | - | lgamec.exit() |
| 160 | + | |
| 161 | loose = true | |
| 162 | break | |
| 163 | else | |
| 164 | ii = 2 | |
| 165 | nl2 = math.random(1,3) | |
| 166 | l2 = "t"..tostring(nl2) | |
| 167 | repeat | |
| 168 | nl22 = math.random(1,3) | |
| 169 | l22 = "t"..tostring(nl22) | |
| 170 | until l22 ~= l2 | |
| 171 | if (sleept < 0.21) then | |
| 172 | sleept = 0 | |
| 173 | else | |
| 174 | sleept = sleept - 0.2 | |
| 175 | end | |
| 176 | score = score + 1 | |
| 177 | if (sleept == 0 ) then | |
| 178 | break | |
| 179 | end | |
| 180 | end | |
| 181 | end | |
| 182 | end | |
| 183 | end | |
| 184 | if loose then | |
| 185 | loosef() | |
| 186 | else | |
| 187 | lvl = 2 | |
| 188 | parallel.waitForAny(gamef2,control) | |
| 189 | if (loose) then | |
| 190 | loosef() | |
| 191 | else | |
| 192 | winf() | |
| 193 | end | |
| 194 | end | |
| 195 | lgamec.exit() | |
| 196 | else | |
| 197 | term.clear() | |
| 198 | term.setCursorPos(1,2) | |
| 199 | term.write("Install lgame from updater!")
| |
| 200 | uap.upd() | |
| 201 | end |