2023-10-15 09:08:31 -04:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Copyright (c) 2023 - Ognjen 'xolatile' Milan Robovic
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Xabina is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either
-- version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
-- implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Experimental minimal terminal rogue-like game in Ada programming language. I used to write a lot of Ada programs some time ago, then went in full C and assembly mode, and came
-- back to Ada, but realized that I keep my folders messy... Since it's bothersome to find my old Ada projects and share them here, I decided that the most easy thing to do is to
-- write a new program in Ada, a tiny game. Work in progress, it's messy and ugly for now...
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
with core ;
package animal is
------------------------------------------------------------------------------------------
type animal_list is (
ANIMAL_PIG , ANIMAL_COW , ANIMAL_CHICKEN , ANIMAL_SHEEP , ANIMAL_BOAR , ANIMAL_GOAT , ANIMAL_AUROCH , ANIMAL_DUCK ,
ANIMAL_DOG , ANIMAL_CAT , ANIMAL_RABBIT , ANIMAL_HAMSTER , ANIMAL_HORSE , ANIMAL_DONKEY , ANIMAL_CAMEL , ANIMAL_ELEPHANT ,
ANIMAL_OWL , ANIMAL_HAWK , ANIMAL_PIGEON , ANIMAL_VULTURE , ANIMAL_CROW , ANIMAL_PHEASANT , ANIMAL_SPARROW , ANIMAL_ALBATROSS ,
ANIMAL_SARDINE , ANIMAL_HERRING , ANIMAL_CATFISH , ANIMAL_CARP , ANIMAL_WHALE , ANIMAL_SHARK , ANIMAL_SQUID , ANIMAL_SAWFISH ,
ANIMAL_WORM , ANIMAL_BEE , ANIMAL_CENTIPEDE , ANIMAL_SPIDER , ANIMAL_FROG , ANIMAL_RAT , ANIMAL_BAT , ANIMAL_MOLE ,
ANIMAL_WOLF , ANIMAL_FOX , ANIMAL_BEAR , ANIMAL_MAMMOTH , ANIMAL_ELK , ANIMAL_MOOSE , ANIMAL_DEER , ANIMAL_PEEBLES ,
ANIMAL_LION , ANIMAL_HYENA , ANIMAL_BISON , ANIMAL_ZEBRA , ANIMAL_GIRAFFE , ANIMAL_CROCODILE , ANIMAL_MONKEY , ANIMAL_GNU ,
ANIMAL_CARIBOU , ANIMAL_SEAL , ANIMAL_MORSE , ANIMAL_PENGUIN , ANIMAL_TURTLE , ANIMAL_CAYMAN , ANIMAL_OTTER , ANIMAL_SNAKE ,
ANIMAL_LIZARD , ANIMAL_DAEODON , ANIMAL_SLIME , ANIMAL_AXOLOTL , ANIMAL_HEDGEHOG , ANIMAL_CATERPILLAR , ANIMAL_CRAB , ANIMAL_SCORPION ,
ANIMAL_GIANT_LIZARD , ANIMAL_GIANT_CENTIPEDE , ANIMAL_GIANT_SPIDER , ANIMAL_GIANT_SLOTH ,
ANIMAL_GIANT_OWL , ANIMAL_GIANT_SCORPION , ANIMAL_GIANT_AXOLOTL , ANIMAL_GIANT_WORM
) ;
type animal_mark is mod 72 ;
------------------------------------------------------------------------------------------
2023-10-15 10:01:21 -04:00
type animal_constant_type is new core . entity_constant_type with
2023-10-15 09:08:31 -04:00
record
health_limit : natural := 0 ;
attack_range : natural := 0 ;
defense_range : natural := 0 ;
end record ;
2023-10-15 10:01:21 -04:00
type animal_variable_type is new core . entity_variable_type with
2023-10-15 09:08:31 -04:00
record
health : natural := 0 ;
end record ;
type animal_constant_list is array ( animal_list ) of animal_constant_type ;
type animal_variable_list is array ( animal_mark ) of animal_variable_type ;
------------------------------------------------------------------------------------------
animal_constant_data : constant animal_constant_list := (
2023-10-15 12:40:35 -04:00
( 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 )
2023-10-15 09:08:31 -04:00
) ;
animal_variable_data : animal_variable_list ;
------------------------------------------------------------------------------------------
end animal ;