Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- term.clear()
- function split (inputstr, sep)
- if sep == nil then
- sep = "%s"
- end
- local t={}
- for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
- table.insert(t, str)
- end
- return t
- end
- -- ^^^ DON'T TOUCH THIS FUTURE ME ^^^ ---
- _rendertable = {}
- _rendertable.aliens = {"1 1","2 1","3 1"}
- _rendertable.structures = {"2 17","2 16","2 15","3 15","4 15","5 15","6 15","7 15","7 16","7 17",
- "16 17","16 16","16 15","17 15","18 15","19 15","20 15","21 15","21 16","21 17",
- "50 17","50 16","50 15","49 15","48 15","47 15","46 15","45 15","45 16","45 17",
- "31 17","31 16","31 15","32 15","33 15","34 15","35 15","36 15","36 16","36 17",
- } --Table that holds all X and Y coordinates for a singular pixel (Thanks prince :) )
- _rendertable.playerpos = {"25 19","26 19","27 19"}
- _rendertable.bulletpos = {}
- playerpos = 26
- alienpos = 2
- alienleft = 0
- function alienbody()
- while true do
- if alienpos == 50 then
- alienleft = 1
- elseif alienpos == 2 then
- alienleft = 0
- end
- alienpos = alienpos
- sleep(1)
- if _rendertable.aliens[1] ~= "0 0" and _rendertable.aliens[2] ~= "0 0" and _rendertable.aliens[3] ~= "0 0" and alienleft == 0 then
- alienpos = alienpos + 1
- _rendertable.aliens = {tostring(alienpos-1).." 1",tostring(alienpos).." 1",tostring(alienpos+1).." 1"}
- end
- if _rendertable.aliens[1] ~= "0 0" and _rendertable.aliens[2] ~= "0 0" and _rendertable.aliens[3] ~= "0 0" and alienleft == 1 then
- alienpos = alienpos - 1
- _rendertable.aliens = {tostring(alienpos-1).." 1",tostring(alienpos).." 1",tostring(alienpos+1).." 1"}
- end
- sleep()
- end
- end
- function playerbody()
- while true do
- playerpos = playerpos
- local event, key = os.pullEvent("key")
- if key == keys.d and playerpos <= 49 then
- playerpos = playerpos + 1
- _rendertable.playerpos = {tostring(playerpos-1).." 19",tostring(playerpos).." 19",tostring(playerpos+1).." 19"}
- end
- if key == keys.a and playerpos >= 3 then
- playerpos = playerpos - 1
- _rendertable.playerpos = {tostring(playerpos-1).." 19",tostring(playerpos).." 19",tostring(playerpos+1).." 19"}
- end
- if key == keys.space and textutils.serialise(_rendertable.bulletpos) == "{}" then
- table.insert(_rendertable.bulletpos,tostring(playerpos).." 18")
- end
- sleep()
- end
- end
- function bulletbody()
- while true do
- for x=1,#_rendertable.bulletpos do
- _rendertable.bulletpos = {tostring(tonumber(split(_rendertable.bulletpos[x]," ")[1])).." "..tostring(tonumber(split(_rendertable.bulletpos[x]," ")[2])-1)}
- for y=1,#_rendertable.structures do
- if _rendertable.structures[y] == _rendertable.bulletpos[x] then
- _rendertable.bulletpos[x] = "0 0"
- _rendertable.structures[y] = "0 0"
- -- table.remove(_rendertable.bulletpos, x)
- -- table.remove(_rendertable.structures, y)
- end
- end
- for y=1,#_rendertable.aliens do
- if _rendertable.aliens[y] == _rendertable.bulletpos[x] then
- _rendertable.bulletpos[x] = "0 0"
- _rendertable.aliens = {"0 0","0 0","0 0"}
- -- table.remove(_rendertable.bulletpos, x)
- -- table.remove(_rendertable.structures, y)
- end
- end
- if tonumber(split(_rendertable.bulletpos[x]," ")[2]) <= 0 then
- _rendertable.bulletpos = {}
- end
- end
- sleep(0.075)
- end
- end
- function render() --Function that will render (duh) everything in the _rendertable variable (WILL RUN FOREVER)
- while true do
- _rendertable = _rendertable
- _rendertable.playerpos = _rendertable.playerpos
- term.setBackgroundColor(colors.black)
- term.clear()
- -- print(#_rendertable.playerpos)
- if #_rendertable > 0 then
- for x=1,#_rendertable do
- paintutils.drawPixel(tonumber(split(_rendertable[x]," ")[1]),tonumber(split(_rendertable[x]," ")[2]),colors.white)
- end
- end
- if #_rendertable.structures > 0 then
- for x=1,#_rendertable.structures do
- paintutils.drawPixel(tonumber(split(_rendertable.structures[x]," ")[1]),tonumber(split(_rendertable.structures[x]," ")[2]),colors.white)
- end
- end
- if #_rendertable.playerpos > 0 then
- for x=1,#_rendertable.playerpos do
- paintutils.drawPixel(tonumber(split(_rendertable.playerpos[x]," ")[1]),tonumber(split(_rendertable.playerpos[x]," ")[2]),colors.white)
- end
- end
- if #_rendertable.bulletpos > 0 then
- for x=1,#_rendertable.bulletpos do
- paintutils.drawPixel(tonumber(split(_rendertable.bulletpos[x]," ")[1]),tonumber(split(_rendertable.bulletpos[x]," ")[2]),colors.white)
- end
- end
- if #_rendertable.aliens > 0 then
- for x=1,#_rendertable.aliens do
- paintutils.drawPixel(tonumber(split(_rendertable.aliens[x]," ")[1]),tonumber(split(_rendertable.aliens[x]," ")[2]),colors.white)
- end
- end
- sleep()
- end
- end
- function drawEntites01()
- parallel.waitForAll(playerbody,bulletbody)
- end
- function drawEntites02()
- parallel.waitForAll(drawEntites01,alienbody)
- end
- parallel.waitForAll(drawEntites02,render)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement