forked from Jonathan/Peradventure
added real-time map render!
This commit is contained in:
parent
0d9e48752d
commit
684ebb61a8
15
app.lua
15
app.lua
@ -1,18 +1,20 @@
|
|||||||
local lapis = require("lapis")
|
local lapis = require("lapis")
|
||||||
local app = lapis.Application()
|
local app = lapis.Application()
|
||||||
local say = require('lua_scripts/main')
|
local say = require('lua_scripts/main')
|
||||||
|
local mapFunc = require('lua_scripts/map')
|
||||||
local player = require('player')
|
local player = require('player')
|
||||||
|
|
||||||
local db = require("lapis.db")
|
local db = require("lapis.db")
|
||||||
local Model = require("lapis.db.model").Model
|
local Model = require("lapis.db.model").Model
|
||||||
|
|
||||||
local db = Model:extend('database')
|
local map = Model:extend('map')
|
||||||
|
|
||||||
app:enable("etlua")
|
app:enable("etlua")
|
||||||
app.layout = require "views.layout"
|
app.layout = require "views.layout"
|
||||||
|
|
||||||
app:post("/clickme", function(self)
|
app:post("/clickme", function(self)
|
||||||
self.plane = "P-38L"
|
self.plane = "P-38L"
|
||||||
|
mapFunc:populate(map)
|
||||||
return {self.plane, layout = false}
|
return {self.plane, layout = false}
|
||||||
end)
|
end)
|
||||||
|
|
||||||
@ -23,6 +25,17 @@ app:get("/", function(self)
|
|||||||
}
|
}
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
app:match("/map/render", function(self)
|
||||||
|
self.tiles = {}
|
||||||
|
for h=1,10 do
|
||||||
|
self.tiles[h] = {}
|
||||||
|
for i=1,10 do
|
||||||
|
self.tiles[h][i] = map:find({x = h, y = i})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return {render = "map", layout = false}
|
||||||
|
end)
|
||||||
|
|
||||||
return app
|
return app
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ config("development", {
|
|||||||
code_cache = "off",
|
code_cache = "off",
|
||||||
num_workers = "1",
|
num_workers = "1",
|
||||||
sqlite = {
|
sqlite = {
|
||||||
database = "my_database.sqlite",
|
database = "database.sqlite3",
|
||||||
-- open_flags = ...
|
-- open_flags = ...
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
BIN
database.sqlite3
BIN
database.sqlite3
Binary file not shown.
44
lua_scripts/map.lua
Normal file
44
lua_scripts/map.lua
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
|
||||||
|
|
||||||
|
local map = {
|
||||||
|
map_tiles = {
|
||||||
|
{"-", "-", "w", "w", "-", "-", "-", "-", "-", "-"},
|
||||||
|
{"-", "-", "w", "w", "-", "-", "-", "-", "-", "-"},
|
||||||
|
{"-", "-", "w", "w", "-", "w", "-", "-", "-", "-"},
|
||||||
|
{"w", "-", "-", "-", "w", "w", "-", "-", "-", "-"},
|
||||||
|
{"w", "-", "w", "-", "-", "w", "w", "w", "-", "-"},
|
||||||
|
{"w", "-", "w", "-", "-", "w", "-", "-", "-", "-"},
|
||||||
|
{"-", "-", "w", "-", "-", "w", "-", "w", "-", "-"},
|
||||||
|
{"-", "-", "-", "-", "-", "-", "-", "w", "-", "-"},
|
||||||
|
{"-", "-", "w", "-", "-", "-", "-", "w", "w", "-"},
|
||||||
|
{"-", "-", "w", "-", "-", "-", "-", "-", "w", "-"}
|
||||||
|
},
|
||||||
|
populate = function(self, map)
|
||||||
|
for h=1,10 do
|
||||||
|
for i=1,10 do
|
||||||
|
local tile = map:create({
|
||||||
|
x = h,
|
||||||
|
y = i,
|
||||||
|
occupied_by_type = self.map_tiles[h][i],
|
||||||
|
occupied_by_id = ""
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
}
|
||||||
|
local tiles = {}
|
||||||
|
|
||||||
|
return map
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -12,6 +12,8 @@ http {
|
|||||||
|
|
||||||
init_by_lua_block {
|
init_by_lua_block {
|
||||||
require "lpeg"
|
require "lpeg"
|
||||||
|
require "lsqlite3"
|
||||||
|
lapis = require "lapis"
|
||||||
}
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
|
@ -13,6 +13,8 @@ http {
|
|||||||
|
|
||||||
init_by_lua_block {
|
init_by_lua_block {
|
||||||
require "lpeg"
|
require "lpeg"
|
||||||
|
require "lsqlite3"
|
||||||
|
lapis = require "lapis"
|
||||||
}
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
|
2
setup_db
2
setup_db
@ -15,7 +15,7 @@ sqlite3 database.sqlite3 "
|
|||||||
hp INTEGER,
|
hp INTEGER,
|
||||||
inventory_ref INTEGER
|
inventory_ref INTEGER
|
||||||
);
|
);
|
||||||
CREATE TABLE IF NOT EXISTS player_inventory (
|
CREATE TABLE IF NOT EXISTS player_inventory (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||||
type TEXT,
|
type TEXT,
|
||||||
quantity INTEGER,
|
quantity INTEGER,
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
<!-- views/index.etlua -->
|
<!-- views/index.etlua -->
|
||||||
<script src="/static/htmx.min.js"></script>
|
<script src="/static/htmx.min.js"></script>
|
||||||
|
<div id="clickable">
|
||||||
|
<button hx-post="/clickme" hx-target="#clickable">Start</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
<button hx-post="/clickme" hx-target="#clickable">Start</button>
|
<div id="map" hx-get="/map/render" hx-trigger="every 5s">
|
||||||
<p id="clickable"></p>
|
|
||||||
|
</div>
|
||||||
|
|
||||||
<ol>
|
|
||||||
<!--
|
<!--
|
||||||
|
<ol>
|
||||||
<p><% for i, thing in pairs(text) do %>
|
<p><% for i, thing in pairs(text) do %>
|
||||||
<li><%= thing %></li>
|
<li><%= thing %></li>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
8
views/map.etlua
Normal file
8
views/map.etlua
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<p style="text-align: center;">
|
||||||
|
<% for h=1,10 do %>
|
||||||
|
<% for i=1,10 do %>
|
||||||
|
<%= tiles[h][i].occupied_by_type %>
|
||||||
|
<% end %>
|
||||||
|
<br>
|
||||||
|
<% end %>
|
||||||
|
</p>
|
Loading…
Reference in New Issue
Block a user