瀏覽代碼

Core armour implementation...

master
父節點
當前提交
65576af120
共有 1 個文件被更改,包括 49 次插入1 次删除
  1. +49
    -1
      xabina.adb

+ 49
- 1
xabina.adb 查看文件

@@ -236,8 +236,8 @@ function xabina return integer is
type weapon_constant_type is new entity_constant_type with
record
dual_wield : boolean := false;
weight : natural := 0;
value : natural := 0;
weight : natural := 0;
attack_range : integer_subrange := (0, 0);
defense_range : integer_subrange := (0, 0);
distance_range : integer_subrange := (0, 0);
@@ -270,6 +270,42 @@ function xabina return integer is
-- Armour
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

type armour_list is (
IRON_HELMET, IRON_CHESTPLATE, IRON_GAUNTLETS, IRON_GREAVES, IRON_CUISSE, IRON_FAULD, IRON_GARDBRACE, IRON_REREBRACE
);

type armour_mark is mod 72;

type armour_constant_type is new entity_constant_type with
record
value : natural := 0;
weight : natural := 0;
defense_range : integer_subrange := (0, 0);
-- description : unbounded_string := null_unbounded_string;
end record;

type armour_variable_type is new entity_variable_type with
record
enchantment : natural := 0;
condition : natural := 0;
end record;

type armour_constant_list is array (armour_list) of armour_constant_type;
type armour_variable_list is array (armour_mark) of armour_variable_type;

armour_constant_data : constant armour_constant_list := (
(ENTITY_ARMOUR, to_unbounded_string ("Iron Helmet"), 'm', COLOUR_YELLOW, EFFECT_NORMAL, 11, 31, (3, 7)),
(ENTITY_ARMOUR, to_unbounded_string ("Iron Chestplate"), 'M', COLOUR_YELLOW, EFFECT_BOLD, 23, 67, (5, 11)),
(ENTITY_ARMOUR, to_unbounded_string ("Iron Gauntlets"), 'i', COLOUR_YELLOW, EFFECT_NORMAL, 13, 43, (1, 7)),
(ENTITY_ARMOUR, to_unbounded_string ("Iron Greaves"), 'I', COLOUR_YELLOW, EFFECT_NORMAL, 19, 73, (6, 13)),
(ENTITY_ARMOUR, to_unbounded_string ("Iron Cuisse"), 'Y', COLOUR_YELLOW, EFFECT_BOLD, 17, 53, (4, 10)),
(ENTITY_ARMOUR, to_unbounded_string ("Iron Fauld"), '-', COLOUR_YELLOW, EFFECT_NORMAL, 13, 37, (0, 3)),
(ENTITY_ARMOUR, to_unbounded_string ("Iron Gardbrace"), 'v', COLOUR_YELLOW, EFFECT_NORMAL, 11, 41, (3, 8)),
(ENTITY_ARMOUR, to_unbounded_string ("Iron Rerebrace"), 'V', COLOUR_YELLOW, EFFECT_NORMAL, 13, 47, (4, 7))
);

armour_variable_data : armour_variable_list;

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Scroll
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -345,6 +381,18 @@ begin
put_line (" " & to_string (item_constant_data (this).name));
end loop;

for this in weapon_list
loop
x := x + render_character (weapon_constant_data (this).symbol, weapon_constant_data (this).colour, weapon_constant_data (this).effect);
put_line (" " & to_string (weapon_constant_data (this).name));
end loop;

for this in armour_list
loop
x := x + render_character (armour_constant_data (this).symbol, armour_constant_data (this).colour, armour_constant_data (this).effect);
put_line (" " & to_string (armour_constant_data (this).name));
end loop;

return 0;

end xabina;

Loading…
取消
儲存