overview
This commit is contained in:
+25
-24
@@ -50,7 +50,8 @@ local biomes = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
love.load = function()
|
love.load = function()
|
||||||
map.size = 150
|
map.size = 500
|
||||||
|
map.tile_size = 1
|
||||||
map.altitude = heightmap.create(map.size, map.size, 0, 1)
|
map.altitude = heightmap.create(map.size, map.size, 0, 1)
|
||||||
map.temperature = heightmap.create(map.size, map.size, 0, 1)
|
map.temperature = heightmap.create(map.size, map.size, 0, 1)
|
||||||
map.humidity = heightmap.create(map.size, map.size, 0, 1)
|
map.humidity = heightmap.create(map.size, map.size, 0, 1)
|
||||||
@@ -86,7 +87,7 @@ love.load = function()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- planetizer!
|
-- planetizer!
|
||||||
map.terrain = {}
|
map.terrain = {w = map.size, h = map.size}
|
||||||
local radius = (map.size / 2)^2
|
local radius = (map.size / 2)^2
|
||||||
for x = 0, map.size do
|
for x = 0, map.size do
|
||||||
map.terrain[x] = {}
|
map.terrain[x] = {}
|
||||||
@@ -110,37 +111,37 @@ love.load = function()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local camera = {
|
||||||
|
x = 0, y = 0,
|
||||||
|
speed = 500,
|
||||||
|
}
|
||||||
love.update = function(dt)
|
love.update = function(dt)
|
||||||
lovebird.update()
|
lovebird.update()
|
||||||
|
|
||||||
|
if love.keyboard.isDown("w") then
|
||||||
|
camera.y = camera.y - camera.speed * dt
|
||||||
|
end
|
||||||
|
if love.keyboard.isDown("s") then
|
||||||
|
camera.y = camera.y + camera.speed * dt
|
||||||
|
end
|
||||||
|
if love.keyboard.isDown("a") then
|
||||||
|
camera.x = camera.x - camera.speed * dt
|
||||||
|
end
|
||||||
|
if love.keyboard.isDown("d") then
|
||||||
|
camera.x = camera.x + camera.speed * dt
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local window_width, window_height = love.graphics.getDimensions()
|
||||||
love.draw = function()
|
love.draw = function()
|
||||||
local tile_size = 2
|
love.graphics.translate(window_width / 2 - (map.size * map.tile_size) / 2 - camera.x, window_height / 2 - (map.size * map.tile_size) / 2 - camera.y)
|
||||||
|
|
||||||
for x = 0, map.altitude.w do
|
for x = 0, map.size do
|
||||||
for y = 0, map.altitude.h do
|
for y = 0, map.size do
|
||||||
-- raw heightmap
|
|
||||||
local value = map.altitude[x][y]
|
|
||||||
if value then
|
|
||||||
love.graphics.setColor(value, value, value, 1)
|
|
||||||
love.graphics.rectangle("fill", x * tile_size, y * tile_size, tile_size, tile_size)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- temperature map
|
|
||||||
local value = map.temperature[x][y]
|
|
||||||
love.graphics.setColor(value, 0, 0, 1)
|
|
||||||
love.graphics.rectangle("fill", map.size * tile_size + x * tile_size, y * tile_size, tile_size, tile_size)
|
|
||||||
|
|
||||||
-- humidity map
|
|
||||||
local value = map.humidity[x][y]
|
|
||||||
love.graphics.setColor(0, 0, value, 1)
|
|
||||||
love.graphics.rectangle("fill", x * tile_size, map.size * tile_size + y * tile_size, tile_size, tile_size)
|
|
||||||
|
|
||||||
-- "naive" biomed map
|
|
||||||
local value = map.terrain[x][y]
|
local value = map.terrain[x][y]
|
||||||
if value then
|
if value then
|
||||||
love.graphics.setColor(value)
|
love.graphics.setColor(value)
|
||||||
love.graphics.rectangle("fill", map.size * tile_size + x * tile_size, map.size * tile_size + y * tile_size, tile_size, tile_size)
|
love.graphics.rectangle("fill", x * map.tile_size, y * map.tile_size, map.tile_size, map.tile_size)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user