Create tron

This commit is contained in:
LDDestroier 2018-11-13 15:02:55 -05:00 committed by GitHub
parent 28e083f034
commit e7ceb21427
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 87 additions and 0 deletions

87
tron Normal file
View File

@ -0,0 +1,87 @@
local scr_x, scr_y = term.getSize()
local grid = {
x1 = -60,
y1 = -60,
x2 = 60,
y2 = 60,
border = "#"
voidcol = "f",
forecol = "8",
backcol = "7",
edgecol = "0"
}
local scrollX = 0
local scrollY = 0
local player = {
x = 0,
y = 0,
color = colors.blue
}
--draws grid and background at scroll 'x' and 'y'
local drawGrid = function(x, y)
local gridBack = {
" ",
" ########",
" ########",
" ########",
" ########",
" ########",
}
local gridFore = {
"+-----",
"| ",
"| ",
"| "
}
local bg = {{},{},{}}
local foreX, foreY
local backX, backY
local adjX, adjY
for sy = 1, scr_y do
bg[1][sy] = ""
bg[2][sy] = ""
bg[3][sy] = ""
for sx = 1, scr_x do
adjX = (sx - x)
adjY = (sy - y)
foreX = 1 + (sx - x) % #gridFore[1]
foreY = 1 + (sy - y) % #gridFore
backX = 1 + (sx - (x * 2)) % #gridBack[1]
backY = 1 + (sy - (y * 2)) % #gridBack
if adjX <= grid.x1 or adjX >= grid.x2 or adjY <= grid.y1 or adjY >= grid.y2 then
bg[1][sy] = bg[1][sy] .. grid.border
bg[2][sy] = bg[2][sy] .. grid.voidcol
bg[3][sy] = bg[3][sy] .. grid.edgecol
else
if gridFore[foreY]:sub(foreX,foreX) ~= " " then
bg[1][sy] = bg[1][sy] .. gridFore[foreY]:sub(foreX,foreX)
bg[2][sy] = bg[2][sy] .. grid.forecol
bg[3][sy] = bg[3][sy] .. grid.voidcol
elseif gridFore[backY]:sub(backX,backX) ~= " " then
bg[1][sy] = bg[1][sy] .. gridFore[backY]:sub(backX,backX)
bg[2][sy] = bg[2][sy] .. grid.backcol
bg[3][sy] = bg[3][sy] .. grid.voidcol
else
bg[1][sy] = bg[1][sy] .. " "
bg[2][sy] = bg[2][sy] .. grid.voidcol
bg[3][sy] = bg[3][sy] .. grid.voidcol
end
end
end
end
for sy = 1, scr_y do
term.setCursorPos(1,sy)
term.blit(bg[1][sy], bg[2][sy], bg[3][sy])
end
end
-- test background drawing
for x = grid.x1-10, grid.x2+10 do
drawGrid(x, 0)
sleep(0.05)
end