Improve tilesets and pass them into map renderer instead of modified map rows.

This commit is contained in:
Noah 2024-03-19 12:38:15 -05:00
parent dab56a3f8c
commit 5fd5394c8e
3 changed files with 67 additions and 83 deletions

View File

@ -35,14 +35,13 @@ app:match("/map/render", function(self)
for h = 1, 10 do for h = 1, 10 do
self.tiles[h] = {} self.tiles[h] = {}
for i = 1, 10 do for i = 1, 10 do
self.tiles[h][i] = map:find({x = h, y = i})
-- The map database has floor_stone and wall_floor instead of simple ASCII characters -- The map database has floor_stone and wall_floor instead of simple ASCII characters
-- So we run mapFunc:mapDecrypt to convert it back to the desired characters for visual display -- So we run mapFunc:mapDecrypt to convert it back to the desired characters for visual display
self.tiles[h][i].occupied_by_type = mapFunc:mapDecrypt(self.tiles[h][i].occupied_by_type)[1] local tile = map:find({ x = h, y = i })
self.tiles[h][i] = mapFunc:mapDecrypt(tile.occupied_by_type)
end end
end end
return { render = "map", layout = false } return { render = "map", layout = false }
end) end)
return app return app

View File

@ -23,14 +23,14 @@ local map = {
-- This introduces breaking changes -- This introduces breaking changes
local tileset = {} local tileset = {}
if string.find(tile, "wall") then if string.find(tile, "wall") then
tileset[1] = "w" tileset.char = "w"
elseif string.find(tile, "floor") then elseif string.find(tile, "floor") then
tileset[1] = "-" tileset.char = "-"
end end
if string.find(tile, "stone") then if string.find(tile, "stone") then
tileset[2] = "stone" tileset.material = "stone"
elseif string.find(tile, "wood") then elseif string.find(tile, "wood") then
tileset[2] = "wood" tileset.material = "wood"
end end
return tileset return tileset
@ -62,20 +62,5 @@ local map = {
end end
end, end,
} }
local tiles = {}
return map return map

View File

@ -2,7 +2,7 @@
<% for h=1,10 do %> <% for h=1,10 do %>
<div class="grid"> <div class="grid">
<% for i=1,10 do %> <% for i=1,10 do %>
<div><%= tiles[h][i].occupied_by_type %></div> <div><%= tiles[h][i].char %></div>
<% end %> <% end %>
<br> <br>
</div> </div>