2024-02-22 03:29:04 -05:00
|
|
|
with core, resource, item, unit, construction;
|
2024-02-15 21:03:09 -05:00
|
|
|
|
|
|
|
package world is
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
type codex is (
|
|
|
|
ash, cave, grass, rough, snow, swamp
|
|
|
|
);
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-02-22 02:48:25 -05:00
|
|
|
type entity is
|
|
|
|
record
|
|
|
|
index, x, y : integer;
|
|
|
|
end record;
|
|
|
|
|
|
|
|
type block_array is array (natural range <>, natural range <>) of integer;
|
|
|
|
type entity_array is array (natural range <>) of entity;
|
|
|
|
|
|
|
|
type information is
|
|
|
|
record
|
|
|
|
terrain : codex;
|
|
|
|
width : natural;
|
|
|
|
height : natural;
|
|
|
|
block : access block_array;
|
|
|
|
landmark : access entity_array;
|
|
|
|
construction : access entity_array;
|
|
|
|
end record;
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
map : information;
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-02-15 21:03:09 -05:00
|
|
|
procedure configure;
|
|
|
|
|
|
|
|
procedure make (index : in codex; width, height : in natural);
|
|
|
|
|
|
|
|
procedure draw (x, y, width, height : in integer; show_grid : in boolean);
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
end world;
|