40 lines
792 B
Lua
40 lines
792 B
Lua
require "vendor/math"
|
|
|
|
channel = {}
|
|
channel.tomap = love.thread.getChannel("tomap")
|
|
channel.blocks = love.thread.getChannel("blocks")
|
|
|
|
function generateMapBlock(mapWidth, mapHeight)
|
|
local block = {}
|
|
local center = math.ceil( mapWidth/2 )
|
|
local defaultWidth=8
|
|
|
|
-- Fill empty
|
|
for y=1, mapHeight do
|
|
local row = {}
|
|
for x=1, mapWidth do
|
|
table.insert(row, 0)
|
|
end
|
|
|
|
table.insert(block, row)
|
|
end
|
|
|
|
-- Draw simple road
|
|
for y=1, mapHeight do
|
|
for x=center-(defaultWidth/2), center+(defaultWidth/2) do
|
|
block[y][x] = 1
|
|
end
|
|
end
|
|
|
|
return block
|
|
end
|
|
|
|
while true do
|
|
local tomap = channel.tomap:pop()
|
|
if tomap then
|
|
if tomap.message == "generateblock" then
|
|
channel.blocks:push(generateMapBlock( tomap.width, tomap.height ))
|
|
end
|
|
end
|
|
end
|
|
|