This looks somewhat nice...

This commit is contained in:
Ognjen Milan Robovic 2023-10-15 12:40:35 -04:00
parent 83e04221d9
commit 678c901ef7
10 changed files with 227 additions and 198 deletions

View File

@ -31,10 +31,10 @@ package action is
------------------------------------------------------------------------------------------
procedure bind (symbol : character := core.CANCEL;
procedure bind (symbol : character := core.cancel;
mimimi : procedure_pointer := game_idle'access);
procedure unbind (symbol : character := core.CANCEL);
procedure unbind (symbol : character := core.cancel);
procedure game_exit;

View File

@ -46,10 +46,10 @@ package ammunition is
------------------------------------------------------------------------------------------
ammunition_constant_data : constant ammunition_constant_list := (
(core.ENTITY_AMMUNITION, "Arrows ", '^', core.colour.red, core.effect.normal, 11, 13, false, 23, 7, 67),
(core.ENTITY_AMMUNITION, "Bolts ", '^', core.colour.red, core.effect.normal, 13, 23, false, 29, 5, 67),
(core.ENTITY_AMMUNITION, "Slingshots ", '^', core.colour.red, core.effect.normal, 5, 7, true, 43, 7, 67),
(core.ENTITY_AMMUNITION, "Jarids ", '^', core.colour.red, core.effect.normal, 29, 37, true, 7, 7, 67)
(core.entity_ammunition, "Arrows ", '^', core.colour.red, core.effect.normal, 11, 13, false, 23, 7, 67),
(core.entity_ammunition, "Bolts ", '^', core.colour.red, core.effect.normal, 13, 23, false, 29, 5, 67),
(core.entity_ammunition, "Slingshots ", '^', core.colour.red, core.effect.normal, 5, 7, true, 43, 7, 67),
(core.entity_ammunition, "Jarids ", '^', core.colour.red, core.effect.normal, 29, 37, true, 7, 7, 67)
);
ammunition_variable_data : ammunition_variable_list;

View File

@ -52,86 +52,86 @@ package animal is
------------------------------------------------------------------------------------------
animal_constant_data : constant animal_constant_list := (
(core.ENTITY_ANIMAL, "Pig ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Cow ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Chicken ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Sheep ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Boar ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Goat ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Auroch ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Duck ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Dog ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Cat ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Rabbit ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Hamster ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Horse ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Donkey ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Camel ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Elephant ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Owl ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Hawk ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Pigeon ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Vulture ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Crow ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Pheasant ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Sparrow ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Albatross ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Sardine ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Herring ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Catfish ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Carp ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Whale ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Shark ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Squid ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Sawfish ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Worm ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Bee ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Centipede ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Spider ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Frog ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Rat ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Bat ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Mole ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Wolf ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Fox ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Bear ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Mammoth ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Elk ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Moose ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Deer ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Peebles ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Lion ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Hyena ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Bison ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Zebra ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Giraffe ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Crocodile ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Monkey ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Gnu ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Caribou ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Seal ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Morse ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Penguin ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Turtle ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Cayman ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Otter ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Snake ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Lizard ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Daeodon ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Slime ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Axolotl ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Hedgehog ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Caterpillar ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Crab ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Scorpion ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Giant Lizard ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Giant Centipede ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Giant Spider ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Giant Sloth ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Giant Owl ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Giant Scorpion ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Giant Axolotl ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.ENTITY_ANIMAL, "Giant Worm ", 'a', core.colour.green, core.effect.normal, 11, 11, 11)
(core.entity_animal, "Pig ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Cow ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Chicken ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Sheep ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Boar ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Goat ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Auroch ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Duck ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Dog ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Cat ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Rabbit ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Hamster ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Horse ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Donkey ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Camel ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Elephant ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Owl ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Hawk ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Pigeon ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Vulture ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Crow ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Pheasant ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Sparrow ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Albatross ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Sardine ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Herring ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Catfish ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Carp ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Whale ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Shark ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Squid ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Sawfish ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Worm ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Bee ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Centipede ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Spider ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Frog ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Rat ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Bat ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Mole ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Wolf ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Fox ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Bear ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Mammoth ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Elk ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Moose ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Deer ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Peebles ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Lion ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Hyena ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Bison ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Zebra ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Giraffe ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Crocodile ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Monkey ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Gnu ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Caribou ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Seal ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Morse ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Penguin ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Turtle ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Cayman ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Otter ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Snake ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Lizard ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Daeodon ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Slime ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Axolotl ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Hedgehog ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Caterpillar ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Crab ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Scorpion ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Giant Lizard ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Giant Centipede ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Giant Spider ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Giant Sloth ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Giant Owl ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Giant Scorpion ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Giant Axolotl ", 'a', core.colour.green, core.effect.normal, 11, 11, 11),
(core.entity_animal, "Giant Worm ", 'a', core.colour.green, core.effect.normal, 11, 11, 11)
);
animal_variable_data : animal_variable_list;

View File

@ -43,14 +43,14 @@ package armour is
------------------------------------------------------------------------------------------
armour_constant_data : constant armour_constant_list := (
(core.ENTITY_ARMOUR, "Iron Helmet ", 'm', core.colour.yellow, core.effect.normal, 11, 31, 7),
(core.ENTITY_ARMOUR, "Iron Chestplate ", 'M', core.colour.yellow, core.effect.bold, 23, 67, 11),
(core.ENTITY_ARMOUR, "Iron Gauntlets ", 'i', core.colour.yellow, core.effect.normal, 13, 43, 7),
(core.ENTITY_ARMOUR, "Iron Greaves ", 'I', core.colour.yellow, core.effect.normal, 19, 73, 13),
(core.ENTITY_ARMOUR, "Iron Cuisse ", 'Y', core.colour.yellow, core.effect.bold, 17, 53, 10),
(core.ENTITY_ARMOUR, "Iron Fauld ", '-', core.colour.yellow, core.effect.normal, 13, 37, 3),
(core.ENTITY_ARMOUR, "Iron Gardbrace ", 'v', core.colour.yellow, core.effect.normal, 11, 41, 8),
(core.ENTITY_ARMOUR, "Iron Rerebrace ", 'V', core.colour.yellow, core.effect.normal, 13, 47, 7)
(core.entity_armour, "Iron Helmet ", 'm', core.colour.yellow, core.effect.normal, 11, 31, 7),
(core.entity_armour, "Iron Chestplate ", 'M', core.colour.yellow, core.effect.bold, 23, 67, 11),
(core.entity_armour, "Iron Gauntlets ", 'i', core.colour.yellow, core.effect.normal, 13, 43, 7),
(core.entity_armour, "Iron Greaves ", 'I', core.colour.yellow, core.effect.normal, 19, 73, 13),
(core.entity_armour, "Iron Cuisse ", 'Y', core.colour.yellow, core.effect.bold, 17, 53, 10),
(core.entity_armour, "Iron Fauld ", '-', core.colour.yellow, core.effect.normal, 13, 37, 3),
(core.entity_armour, "Iron Gardbrace ", 'v', core.colour.yellow, core.effect.normal, 11, 41, 8),
(core.entity_armour, "Iron Rerebrace ", 'V', core.colour.yellow, core.effect.normal, 13, 47, 7)
);
armour_variable_data : armour_variable_list;

View File

@ -14,6 +14,15 @@ with ada.text_io;
package core is
------------------------------------------------------------------------------------------
type screen_width is mod 120;
type screen_height is mod 40;
type screen_matrix is array (screen_height, screen_width) of character;
------------------------------------------------------------------------------------------
type colour_type is
record
grey : character := '0';
@ -36,29 +45,25 @@ package core is
contra : character := '7';
end record;
CANCEL : constant character := character'val (24);
CARRIAGE_RETURN : constant character := character'val (10);
LINE_FEED : constant character := character'val (13);
ESCAPE : constant character := character'val (27);
cancel : constant character := character'val (24);
carriage_return : constant character := character'val (10);
line_feed : constant character := character'val (13);
escape : constant character := character'val (27);
------------------------------------------------------------------------------------------
type description is new string (1 .. 144);
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Entity
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type entity_list is (
ENTITY_NULL, ENTITY_MENU, ENTITY_MAP, ENTITY_ITEM, ENTITY_MAGIC, ENTITY_AMMUNITION, ENTITY_WEAPON, ENTITY_ARMOUR,
ENTITY_SCROLL, ENTITY_POTION, ENTITY_CONSUMABLE, ENTITY_NOTE, ENTITY_PLANT, ENTITY_ANIMAL, ENTITY_MONSTER, ENTITY_PLAYER
entity_null, entity_menu, entity_map, entity_item, entity_magic, entity_ammunition, entity_weapon, entity_armour,
entity_scroll, entity_potion, entity_consumable, entity_note, entity_plant, entity_animal, entity_monster, entity_player
);
------------------------------------------------------------------------------------------
type entity_constant_type is tagged
record
entity : entity_list := ENTITY_NULL; -- Entity identifier.
entity : entity_list := entity_null; -- Entity identifier.
name : string (1 .. 20) := "- "; -- Entity general name.
symbol : character := ' '; -- Entity ASCII character representation.
colour : character := '7'; -- Entity VT100 escape sequence colour.
@ -71,6 +76,8 @@ package core is
y : integer := 0; -- Global Y coordinate.
end record;
------------------------------------------------------------------------------------------
type soul_type is
record
envy : natural := 0;
@ -109,4 +116,26 @@ package core is
colour : colour_type;
effect : effect_type;
screen_symbol : screen_matrix := (others => (others => cancel));
screen_colour : screen_matrix := (others => (others => colour.white));
screen_effect : screen_matrix := (others => (others => effect.normal));
------------------------------------------------------------------------------------------
procedure screen_delete;
procedure screen_offset;
procedure screen_hide_cursor;
procedure screen_show_cursor;
procedure screen_new_line;
procedure render_character (symbol : character := ' ';
colour : character := '7';
effect : character := '0';
y : screen_height := 0;
x : screen_width := 0);
procedure render_buffer;
------------------------------------------------------------------------------------------
end core;

100
item.ads
View File

@ -47,56 +47,56 @@ package item is
------------------------------------------------------------------------------------------
item_constant_data : constant item_constant_list := (
(core.ENTITY_ITEM, "Wood ", '+', core.colour.yellow, core.effect.normal, 2, 2),
(core.ENTITY_ITEM, "Bark ", '+', core.colour.yellow, core.effect.normal, 1, 2),
(core.ENTITY_ITEM, "Flax ", '+', core.colour.yellow, core.effect.normal, 3, 1),
(core.ENTITY_ITEM, "Plank ", '+', core.colour.yellow, core.effect.normal, 2, 2),
(core.ENTITY_ITEM, "Stick ", '+', core.colour.yellow, core.effect.normal, 2, 2),
(core.ENTITY_ITEM, "Braces ", '+', core.colour.yellow, core.effect.normal, 2, 1),
(core.ENTITY_ITEM, "Nails ", '+', core.colour.yellow, core.effect.normal, 1, 1),
(core.ENTITY_ITEM, "Linen ", '+', core.colour.yellow, core.effect.normal, 23, 1),
(core.ENTITY_ITEM, "Chamomile ", '+', core.colour.yellow, core.effect.normal, 3, 1),
(core.ENTITY_ITEM, "Mint ", '+', core.colour.yellow, core.effect.normal, 5, 1),
(core.ENTITY_ITEM, "Wax ", '+', core.colour.yellow, core.effect.normal, 7, 1),
(core.ENTITY_ITEM, "Salt ", '+', core.colour.yellow, core.effect.normal, 13, 1),
(core.ENTITY_ITEM, "Sugar ", '+', core.colour.yellow, core.effect.normal, 17, 1),
(core.ENTITY_ITEM, "Pepper ", '+', core.colour.yellow, core.effect.normal, 11, 1),
(core.ENTITY_ITEM, "Cinnamon ", '+', core.colour.yellow, core.effect.normal, 23, 1),
(core.ENTITY_ITEM, "Yeast ", '+', core.colour.yellow, core.effect.normal, 5, 1),
(core.ENTITY_ITEM, "Skull ", '+', core.colour.yellow, core.effect.normal, 2, 1),
(core.ENTITY_ITEM, "Bone ", '+', core.colour.yellow, core.effect.normal, 1, 1),
(core.ENTITY_ITEM, "Intestines ", '+', core.colour.yellow, core.effect.normal, 1, 1),
(core.ENTITY_ITEM, "Fur ", '+', core.colour.yellow, core.effect.normal, 7, 2),
(core.ENTITY_ITEM, "Leather ", '+', core.colour.yellow, core.effect.normal, 3, 1),
(core.ENTITY_ITEM, "Fat ", '+', core.colour.yellow, core.effect.normal, 1, 1),
(core.ENTITY_ITEM, "Horn ", '+', core.colour.yellow, core.effect.normal, 2, 1),
(core.ENTITY_ITEM, "Tusk ", '+', core.colour.yellow, core.effect.normal, 3, 5),
(core.ENTITY_ITEM, "Copper Ore ", '+', core.colour.yellow, core.effect.normal, 5, 7),
(core.ENTITY_ITEM, "Iron Ore ", '+', core.colour.yellow, core.effect.normal, 7, 11),
(core.ENTITY_ITEM, "Silver Ore ", '+', core.colour.yellow, core.effect.normal, 17, 7),
(core.ENTITY_ITEM, "Gold Ore ", '+', core.colour.yellow, core.effect.normal, 23, 7),
(core.ENTITY_ITEM, "Coal Ore ", '+', core.colour.yellow, core.effect.normal, 2, 7),
(core.ENTITY_ITEM, "Tin Ore ", '+', core.colour.yellow, core.effect.normal, 13, 7),
(core.ENTITY_ITEM, "Zinc Ore ", '+', core.colour.yellow, core.effect.normal, 13, 7),
(core.ENTITY_ITEM, "Lead Ore ", '+', core.colour.yellow, core.effect.normal, 11, 13),
(core.ENTITY_ITEM, "Copper ", '+', core.colour.yellow, core.effect.normal, 17, 5),
(core.ENTITY_ITEM, "Iron ", '+', core.colour.yellow, core.effect.normal, 19, 7),
(core.ENTITY_ITEM, "Silver ", '+', core.colour.yellow, core.effect.normal, 23, 5),
(core.ENTITY_ITEM, "Gold ", '+', core.colour.yellow, core.effect.normal, 29, 5),
(core.ENTITY_ITEM, "Coal ", '+', core.colour.yellow, core.effect.normal, 19, 5),
(core.ENTITY_ITEM, "Tin ", '+', core.colour.yellow, core.effect.normal, 11, 5),
(core.ENTITY_ITEM, "Zinc ", '+', core.colour.yellow, core.effect.normal, 13, 5),
(core.ENTITY_ITEM, "Lead ", '+', core.colour.yellow, core.effect.normal, 47, 7),
(core.ENTITY_ITEM, "Bronze ", '+', core.colour.yellow, core.effect.normal, 61, 5),
(core.ENTITY_ITEM, "Brass ", '+', core.colour.yellow, core.effect.normal, 67, 5),
(core.ENTITY_ITEM, "Steel ", '+', core.colour.yellow, core.effect.normal, 71, 7),
(core.ENTITY_ITEM, "Mercury ", '+', core.colour.yellow, core.effect.normal, 97, 11),
(core.ENTITY_ITEM, "Oil ", '+', core.colour.yellow, core.effect.normal, 5, 1),
(core.ENTITY_ITEM, "Ink ", '+', core.colour.yellow, core.effect.normal, 13, 1),
(core.ENTITY_ITEM, "Venom ", '+', core.colour.yellow, core.effect.normal, 11, 1),
(core.ENTITY_ITEM, "Silk ", '+', core.colour.yellow, core.effect.normal, 13, 1),
(core.ENTITY_ITEM, "Papers ", '+', core.colour.yellow, core.effect.normal, 1, 1),
(core.ENTITY_ITEM, "Paperweight ", '+', core.colour.yellow, core.effect.normal, 2, 1)
(core.entity_item, "Wood ", '+', core.colour.yellow, core.effect.normal, 2, 2),
(core.entity_item, "Bark ", '+', core.colour.yellow, core.effect.normal, 1, 2),
(core.entity_item, "Flax ", '+', core.colour.yellow, core.effect.normal, 3, 1),
(core.entity_item, "Plank ", '+', core.colour.yellow, core.effect.normal, 2, 2),
(core.entity_item, "Stick ", '+', core.colour.yellow, core.effect.normal, 2, 2),
(core.entity_item, "Braces ", '+', core.colour.yellow, core.effect.normal, 2, 1),
(core.entity_item, "Nails ", '+', core.colour.yellow, core.effect.normal, 1, 1),
(core.entity_item, "Linen ", '+', core.colour.yellow, core.effect.normal, 23, 1),
(core.entity_item, "Chamomile ", '+', core.colour.yellow, core.effect.normal, 3, 1),
(core.entity_item, "Mint ", '+', core.colour.yellow, core.effect.normal, 5, 1),
(core.entity_item, "Wax ", '+', core.colour.yellow, core.effect.normal, 7, 1),
(core.entity_item, "Salt ", '+', core.colour.yellow, core.effect.normal, 13, 1),
(core.entity_item, "Sugar ", '+', core.colour.yellow, core.effect.normal, 17, 1),
(core.entity_item, "Pepper ", '+', core.colour.yellow, core.effect.normal, 11, 1),
(core.entity_item, "Cinnamon ", '+', core.colour.yellow, core.effect.normal, 23, 1),
(core.entity_item, "Yeast ", '+', core.colour.yellow, core.effect.normal, 5, 1),
(core.entity_item, "Skull ", '+', core.colour.yellow, core.effect.normal, 2, 1),
(core.entity_item, "Bone ", '+', core.colour.yellow, core.effect.normal, 1, 1),
(core.entity_item, "Intestines ", '+', core.colour.yellow, core.effect.normal, 1, 1),
(core.entity_item, "Fur ", '+', core.colour.yellow, core.effect.normal, 7, 2),
(core.entity_item, "Leather ", '+', core.colour.yellow, core.effect.normal, 3, 1),
(core.entity_item, "Fat ", '+', core.colour.yellow, core.effect.normal, 1, 1),
(core.entity_item, "Horn ", '+', core.colour.yellow, core.effect.normal, 2, 1),
(core.entity_item, "Tusk ", '+', core.colour.yellow, core.effect.normal, 3, 5),
(core.entity_item, "Copper Ore ", '+', core.colour.yellow, core.effect.normal, 5, 7),
(core.entity_item, "Iron Ore ", '+', core.colour.yellow, core.effect.normal, 7, 11),
(core.entity_item, "Silver Ore ", '+', core.colour.yellow, core.effect.normal, 17, 7),
(core.entity_item, "Gold Ore ", '+', core.colour.yellow, core.effect.normal, 23, 7),
(core.entity_item, "Coal Ore ", '+', core.colour.yellow, core.effect.normal, 2, 7),
(core.entity_item, "Tin Ore ", '+', core.colour.yellow, core.effect.normal, 13, 7),
(core.entity_item, "Zinc Ore ", '+', core.colour.yellow, core.effect.normal, 13, 7),
(core.entity_item, "Lead Ore ", '+', core.colour.yellow, core.effect.normal, 11, 13),
(core.entity_item, "Copper ", '+', core.colour.yellow, core.effect.normal, 17, 5),
(core.entity_item, "Iron ", '+', core.colour.yellow, core.effect.normal, 19, 7),
(core.entity_item, "Silver ", '+', core.colour.yellow, core.effect.normal, 23, 5),
(core.entity_item, "Gold ", '+', core.colour.yellow, core.effect.normal, 29, 5),
(core.entity_item, "Coal ", '+', core.colour.yellow, core.effect.normal, 19, 5),
(core.entity_item, "Tin ", '+', core.colour.yellow, core.effect.normal, 11, 5),
(core.entity_item, "Zinc ", '+', core.colour.yellow, core.effect.normal, 13, 5),
(core.entity_item, "Lead ", '+', core.colour.yellow, core.effect.normal, 47, 7),
(core.entity_item, "Bronze ", '+', core.colour.yellow, core.effect.normal, 61, 5),
(core.entity_item, "Brass ", '+', core.colour.yellow, core.effect.normal, 67, 5),
(core.entity_item, "Steel ", '+', core.colour.yellow, core.effect.normal, 71, 7),
(core.entity_item, "Mercury ", '+', core.colour.yellow, core.effect.normal, 97, 11),
(core.entity_item, "Oil ", '+', core.colour.yellow, core.effect.normal, 5, 1),
(core.entity_item, "Ink ", '+', core.colour.yellow, core.effect.normal, 13, 1),
(core.entity_item, "Venom ", '+', core.colour.yellow, core.effect.normal, 11, 1),
(core.entity_item, "Silk ", '+', core.colour.yellow, core.effect.normal, 13, 1),
(core.entity_item, "Papers ", '+', core.colour.yellow, core.effect.normal, 1, 1),
(core.entity_item, "Paperweight ", '+', core.colour.yellow, core.effect.normal, 2, 1)
);
item_variable_data : item_variable_list;

View File

@ -46,10 +46,10 @@ package magic is
------------------------------------------------------------------------------------------
magic_constant_data : constant magic_constant_list := (
(core.ENTITY_MAGIC, "Ignite ", '*', core.colour.yellow, core.effect.italic, false, -3, 0, 0, -1, 7, 1),
(core.ENTITY_MAGIC, "Illuminate ", '*', core.colour.yellow, core.effect.italic, false, 0, 0, 0, -1, 13, 1),
(core.ENTITY_MAGIC, "Bladecharm ", '*', core.colour.red, core.effect.italic, true, 0, -3, 0, -1, 7, 3),
(core.ENTITY_MAGIC, "Battlecry ", '*', core.colour.red, core.effect.italic, true, -1, -1, 0, -1, 7, 2)
(core.entity_magic, "Ignite ", '*', core.colour.yellow, core.effect.italic, false, -3, 0, 0, -1, 7, 1),
(core.entity_magic, "Illuminate ", '*', core.colour.yellow, core.effect.italic, false, 0, 0, 0, -1, 13, 1),
(core.entity_magic, "Bladecharm ", '*', core.colour.red, core.effect.italic, true, 0, -3, 0, -1, 7, 3),
(core.entity_magic, "Battlecry ", '*', core.colour.red, core.effect.italic, true, -1, -1, 0, -1, 7, 2)
);
magic_variable_data : magic_variable_list;

View File

@ -41,18 +41,18 @@ package plant is
------------------------------------------------------------------------------------------
plant_constant_data : constant plant_constant_list := (
(core.ENTITY_PLANT, "Oak Tree ", 'T', core.colour.green, core.effect.bold, 11),
(core.ENTITY_PLANT, "Pine Tree ", 'T', core.colour.green, core.effect.bold, 23),
(core.ENTITY_PLANT, "Birch Tree ", 'T', core.colour.green, core.effect.bold, 13),
(core.ENTITY_PLANT, "Acacia Tree ", 'T', core.colour.green, core.effect.bold, 19),
(core.ENTITY_PLANT, "Apple Tree ", 'T', core.colour.green, core.effect.bold, 17),
(core.ENTITY_PLANT, "Peach Tree ", 'T', core.colour.green, core.effect.bold, 13),
(core.ENTITY_PLANT, "Orange Tree ", 'T', core.colour.green, core.effect.bold, 11),
(core.ENTITY_PLANT, "Pear Tree ", 'T', core.colour.green, core.effect.bold, 13),
(core.ENTITY_PLANT, "Bush ", '&', core.colour.green, core.effect.normal, 5),
(core.ENTITY_PLANT, "Thorny Bush ", '&', core.colour.green, core.effect.normal, 7),
(core.ENTITY_PLANT, "Tall Grass ", '%', core.colour.green, core.effect.normal, 3),
(core.ENTITY_PLANT, "Reed ", '%', core.colour.green, core.effect.normal, 3)
(core.entity_plant, "Oak Tree ", 'T', core.colour.green, core.effect.bold, 11),
(core.entity_plant, "Pine Tree ", 'T', core.colour.green, core.effect.bold, 23),
(core.entity_plant, "Birch Tree ", 'T', core.colour.green, core.effect.bold, 13),
(core.entity_plant, "Acacia Tree ", 'T', core.colour.green, core.effect.bold, 19),
(core.entity_plant, "Apple Tree ", 'T', core.colour.green, core.effect.bold, 17),
(core.entity_plant, "Peach Tree ", 'T', core.colour.green, core.effect.bold, 13),
(core.entity_plant, "Orange Tree ", 'T', core.colour.green, core.effect.bold, 11),
(core.entity_plant, "Pear Tree ", 'T', core.colour.green, core.effect.bold, 13),
(core.entity_plant, "Bush ", '&', core.colour.green, core.effect.normal, 5),
(core.entity_plant, "Thorny Bush ", '&', core.colour.green, core.effect.normal, 7),
(core.entity_plant, "Tall Grass ", '%', core.colour.green, core.effect.normal, 3),
(core.entity_plant, "Reed ", '%', core.colour.green, core.effect.normal, 3)
);
plant_variable_data : plant_variable_list;

View File

@ -10,7 +10,7 @@
-- write a new program in Ada, a tiny game. Work in progress, it's messy and ugly for now...
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
with core, screen;
with core;
package player is
@ -20,8 +20,8 @@ package player is
record
--~x : map_width := 0;
--~y : map_height := 0;
x : screen.width := 0;
y : screen.height := 0;
x : core.screen_width := 0;
y : core.screen_height := 0;
health : natural := 0;
armour : natural := 0;
mana : natural := 0;

View File

@ -48,30 +48,30 @@ package weapon is
------------------------------------------------------------------------------------------
weapon_constant_data : constant weapon_constant_list := (
(core.ENTITY_WEAPON, "Iron Sword ", 'l', core.colour.red, core.effect.normal, true, 11, 31, 7, 2, 1),
(core.ENTITY_WEAPON, "Iron Greatsword ", 'L', core.colour.red, core.effect.bold, false, 23, 67, 11, 3, 2),
(core.ENTITY_WEAPON, "Iron Axe ", 'r', core.colour.red, core.effect.normal, true, 13, 43, 7, 2, 1),
(core.ENTITY_WEAPON, "Iron Battleaxe ", 'T', core.colour.red, core.effect.bold, false, 19, 73, 13, 2, 2),
(core.ENTITY_WEAPON, "Iron Spear ", 'I', core.colour.red, core.effect.bold, false, 17, 53, 10, 4, 2),
(core.ENTITY_WEAPON, "Iron Shield ", 'o', core.colour.red, core.effect.normal, true, 13, 37, 3, 9, 1),
(core.ENTITY_WEAPON, "Iron Mace ", 'i', core.colour.red, core.effect.normal, true, 11, 41, 8, 2, 1),
(core.ENTITY_WEAPON, "Iron Hammer ", 't', core.colour.red, core.effect.normal, true, 13, 47, 7, 3, 1),
(core.ENTITY_WEAPON, "Bronze Sword ", 'l', core.colour.red, core.effect.normal, true, 11, 31, 7, 2, 1),
(core.ENTITY_WEAPON, "Bronze Greatsword ", 'L', core.colour.red, core.effect.bold, false, 23, 67, 11, 3, 2),
(core.ENTITY_WEAPON, "Bronze Axe ", 'r', core.colour.red, core.effect.normal, true, 13, 43, 7, 2, 1),
(core.ENTITY_WEAPON, "Bronze Battleaxe ", 'T', core.colour.red, core.effect.bold, false, 19, 73, 13, 2, 2),
(core.ENTITY_WEAPON, "Bronze Spear ", 'I', core.colour.red, core.effect.bold, false, 17, 53, 10, 4, 2),
(core.ENTITY_WEAPON, "Bronze Shield ", 'o', core.colour.red, core.effect.normal, true, 13, 37, 3, 9, 1),
(core.ENTITY_WEAPON, "Bronze Mace ", 'i', core.colour.red, core.effect.normal, true, 11, 41, 8, 2, 1),
(core.ENTITY_WEAPON, "Bronze Hammer ", 't', core.colour.red, core.effect.normal, true, 13, 47, 7, 3, 1),
(core.ENTITY_WEAPON, "Brass Sword ", 'l', core.colour.red, core.effect.normal, true, 11, 31, 7, 2, 1),
(core.ENTITY_WEAPON, "Brass Greatsword ", 'L', core.colour.red, core.effect.bold, false, 23, 67, 11, 3, 2),
(core.ENTITY_WEAPON, "Brass Axe ", 'r', core.colour.red, core.effect.normal, true, 13, 43, 7, 2, 1),
(core.ENTITY_WEAPON, "Brass Battleaxe ", 'T', core.colour.red, core.effect.bold, false, 19, 73, 13, 2, 2),
(core.ENTITY_WEAPON, "Brass Spear ", 'I', core.colour.red, core.effect.bold, false, 17, 53, 10, 4, 2),
(core.ENTITY_WEAPON, "Brass Shield ", 'o', core.colour.red, core.effect.normal, true, 13, 37, 3, 9, 1),
(core.ENTITY_WEAPON, "Brass Mace ", 'i', core.colour.red, core.effect.normal, true, 11, 41, 8, 2, 1),
(core.ENTITY_WEAPON, "Brass Hammer ", 't', core.colour.red, core.effect.normal, true, 13, 47, 7, 3, 1)
(core.entity_weapon, "Iron Sword ", 'l', core.colour.red, core.effect.normal, true, 11, 31, 7, 2, 1),
(core.entity_weapon, "Iron Greatsword ", 'L', core.colour.red, core.effect.bold, false, 23, 67, 11, 3, 2),
(core.entity_weapon, "Iron Axe ", 'r', core.colour.red, core.effect.normal, true, 13, 43, 7, 2, 1),
(core.entity_weapon, "Iron Battleaxe ", 'T', core.colour.red, core.effect.bold, false, 19, 73, 13, 2, 2),
(core.entity_weapon, "Iron Spear ", 'I', core.colour.red, core.effect.bold, false, 17, 53, 10, 4, 2),
(core.entity_weapon, "Iron Shield ", 'o', core.colour.red, core.effect.normal, true, 13, 37, 3, 9, 1),
(core.entity_weapon, "Iron Mace ", 'i', core.colour.red, core.effect.normal, true, 11, 41, 8, 2, 1),
(core.entity_weapon, "Iron Hammer ", 't', core.colour.red, core.effect.normal, true, 13, 47, 7, 3, 1),
(core.entity_weapon, "Bronze Sword ", 'l', core.colour.red, core.effect.normal, true, 11, 31, 7, 2, 1),
(core.entity_weapon, "Bronze Greatsword ", 'L', core.colour.red, core.effect.bold, false, 23, 67, 11, 3, 2),
(core.entity_weapon, "Bronze Axe ", 'r', core.colour.red, core.effect.normal, true, 13, 43, 7, 2, 1),
(core.entity_weapon, "Bronze Battleaxe ", 'T', core.colour.red, core.effect.bold, false, 19, 73, 13, 2, 2),
(core.entity_weapon, "Bronze Spear ", 'I', core.colour.red, core.effect.bold, false, 17, 53, 10, 4, 2),
(core.entity_weapon, "Bronze Shield ", 'o', core.colour.red, core.effect.normal, true, 13, 37, 3, 9, 1),
(core.entity_weapon, "Bronze Mace ", 'i', core.colour.red, core.effect.normal, true, 11, 41, 8, 2, 1),
(core.entity_weapon, "Bronze Hammer ", 't', core.colour.red, core.effect.normal, true, 13, 47, 7, 3, 1),
(core.entity_weapon, "Brass Sword ", 'l', core.colour.red, core.effect.normal, true, 11, 31, 7, 2, 1),
(core.entity_weapon, "Brass Greatsword ", 'L', core.colour.red, core.effect.bold, false, 23, 67, 11, 3, 2),
(core.entity_weapon, "Brass Axe ", 'r', core.colour.red, core.effect.normal, true, 13, 43, 7, 2, 1),
(core.entity_weapon, "Brass Battleaxe ", 'T', core.colour.red, core.effect.bold, false, 19, 73, 13, 2, 2),
(core.entity_weapon, "Brass Spear ", 'I', core.colour.red, core.effect.bold, false, 17, 53, 10, 4, 2),
(core.entity_weapon, "Brass Shield ", 'o', core.colour.red, core.effect.normal, true, 13, 37, 3, 9, 1),
(core.entity_weapon, "Brass Mace ", 'i', core.colour.red, core.effect.normal, true, 11, 41, 8, 2, 1),
(core.entity_weapon, "Brass Hammer ", 't', core.colour.red, core.effect.normal, true, 13, 47, 7, 3, 1)
);
weapon_variable_data : weapon_variable_list;