overview
This commit is contained in:
+25
-24
@@ -50,7 +50,8 @@ local biomes = {
|
||||
}
|
||||
|
||||
love.load = function()
|
||||
map.size = 150
|
||||
map.size = 500
|
||||
map.tile_size = 1
|
||||
map.altitude = 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)
|
||||
@@ -86,7 +87,7 @@ love.load = function()
|
||||
end
|
||||
|
||||
-- planetizer!
|
||||
map.terrain = {}
|
||||
map.terrain = {w = map.size, h = map.size}
|
||||
local radius = (map.size / 2)^2
|
||||
for x = 0, map.size do
|
||||
map.terrain[x] = {}
|
||||
@@ -110,37 +111,37 @@ love.load = function()
|
||||
end
|
||||
end
|
||||
|
||||
local camera = {
|
||||
x = 0, y = 0,
|
||||
speed = 500,
|
||||
}
|
||||
love.update = function(dt)
|
||||
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
|
||||
|
||||
local window_width, window_height = love.graphics.getDimensions()
|
||||
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 y = 0, map.altitude.h 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
|
||||
for x = 0, map.size do
|
||||
for y = 0, map.size do
|
||||
local value = map.terrain[x][y]
|
||||
if value then
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user