From f0094b78d6981df0e7e125c3bf1c7df44950c8a5 Mon Sep 17 00:00:00 2001 From: xolatile Date: Mon, 9 Oct 2023 16:49:02 -0400 Subject: [PATCH] Rearrangement... --- xabina.adb | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 52 insertions(+), 8 deletions(-) diff --git a/xabina.adb b/xabina.adb index e95e0d1..2b7cd0d 100644 --- a/xabina.adb +++ b/xabina.adb @@ -79,13 +79,13 @@ function xabina return integer is ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ type entities is ( - ENTITY_NONE, ENTITY_MENU, ENTITY_MAP, ENTITY_ITEM, ENTITY_PLANT, ENTITY_ANIMAL, ENTITY_GOBLIN, ENTITY_PLAYER, - ENTITY_SPELL, ENTITY_AMMUNITION, ENTITY_WEAPON, ENTITY_ARMOUR, ENTITY_SCROLL, ENTITY_POTION, ENTITY_CONSUMABLE, ENTITY_NOTE + ENTITY_NULL, ENTITY_MENU, ENTITY_MAP, ENTITY_ITEM, ENTITY_SPELL, ENTITY_AMMUNITION, ENTITY_WEAPON, ENTITY_ARMOUR, + ENTITY_SCROLL, ENTITY_POTION, ENTITY_CONSUMABLE, ENTITY_NOTE, ENTITY_PLANT, ENTITY_ANIMAL, ENTITY_GOBLIN, ENTITY_PLAYER ); type entity_constant_type is tagged record - entity : entities := ENTITY_NONE; -- Entity identifier. + entity : entities := ENTITY_NULL; -- Entity identifier. name : unbounded_string := null_unbounded_string; -- Entity general name. symbol : character := ' '; -- Entity ASCII character representation. colour : colours := COLOUR_WHITE; -- Entity VT100 escape sequence colour. @@ -99,12 +99,16 @@ function xabina return integer is end record; ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +-- Menu +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -- Map: -- -- Map data is only constant, not variable, since X and Y coordinates are determined by player, camera or global position. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ type map_list is ( - STONE_WALL, WOODEN_WALL, STONE_FLOOR, WOODEN_FLOOR + STONE_WALL, WOODEN_WALL, STONE_FLOOR, WOODEN_FLOOR, WATER_SHALLOW, WATER_DEEP, SWAMP_SHALLOW, SWAMP_DEEP ); type map_constant_type is new entity_constant_type with @@ -115,13 +119,29 @@ function xabina return integer is type map_constant_list is array (map_list) of map_constant_type; map_constant_data : constant map_constant_list := ( - (ENTITY_MAP, to_unbounded_string ("Stone Wall"), '#', COLOUR_GREY, EFFECT_BOLD, true), - (ENTITY_MAP, to_unbounded_string ("Wooden Wall"), '#', COLOUR_YELLOW, EFFECT_NORMAL, true), - (ENTITY_MAP, to_unbounded_string ("Stone Floor"), '.', COLOUR_GREY, EFFECT_BOLD, false), - (ENTITY_MAP, to_unbounded_string ("Wooden Floor"), '.', COLOUR_YELLOW, EFFECT_NORMAL, false) + (ENTITY_MAP, to_unbounded_string ("Stone Wall"), '#', COLOUR_GREY, EFFECT_BOLD, true), + (ENTITY_MAP, to_unbounded_string ("Wooden Wall"), '#', COLOUR_YELLOW, EFFECT_NORMAL, true), + (ENTITY_MAP, to_unbounded_string ("Stone Floor"), '.', COLOUR_GREY, EFFECT_BOLD, false), + (ENTITY_MAP, to_unbounded_string ("Wooden Floor"), '.', COLOUR_YELLOW, EFFECT_NORMAL, false), + (ENTITY_MAP, to_unbounded_string ("Water (shallow)"), '~', COLOUR_BLUE, EFFECT_NORMAL, false), + (ENTITY_MAP, to_unbounded_string ("Water (deep)"), '~', COLOUR_BLUE, EFFECT_BOLD, true), + (ENTITY_MAP, to_unbounded_string ("Swamp (shallow)"), '~', COLOUR_GREEN, EFFECT_NORMAL, false), + (ENTITY_MAP, to_unbounded_string ("Swamp (deep)"), '~', COLOUR_GREEN, EFFECT_BOLD, true) ); ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +-- Item +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +-- Spell +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +-- Ammunition +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -- Weapon ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ @@ -165,6 +185,26 @@ function xabina return integer is weapon_variable_data : weapon_variable_list; ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +-- Armour +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +-- Scroll +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +-- Potion +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +-- Consumable +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +-- Note +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -- Plant ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ @@ -206,6 +246,10 @@ function xabina return integer is end record; ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +-- Player +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -- Gameplay ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------