xerbia/xerbia.adb

67 lines
2.3 KiB
Ada

with ada.text_io;
use ada.text_io;
procedure xerbia is
type resource_type is (
wheat, gold, wood, stone
);
type construction_type is (
granary, mine, storehouse, quarry
);
type reply_type is (
quit, help, report, status, build, train, trade, plant,
turn
);
grey : constant string := ascii.esc & "[1;30m";
red : constant string := ascii.esc & "[1;31m";
green : constant string := ascii.esc & "[1;32m";
yellow : constant string := ascii.esc & "[1;33m";
blue : constant string := ascii.esc & "[1;34m";
pink : constant string := ascii.esc & "[1;35m";
cyan : constant string := ascii.esc & "[1;36m";
white : constant string := ascii.esc & "[1;37m";
cancel : constant string := ascii.esc & "[0m";
population : natural := 0;
reputation : integer := 0;
migration : integer := 0;
resource : array (resource_type) of integer := (others => 0);
construction : array (construction_type) of natural := (others => 0);
reply_text : constant array (reply_type) of access string := (
new string'("Quit game."),
new string'("Print reply strings and their explanation, like this one."),
new string'("Request a report from your court advisors about the state of your fortress."),
new string'("Request a meeting with lords and merchants about affairs in your fiefdom."),
new string'("Propose what kind of construction should be built this month to your architect."),
new string'("Spend more time training with your warriors this entire month."),
new string'("Discuss what goods should be sold or bought this month with merchant guild."),
new string'("Order what kind of plants should your peasants harvest this month."),
new string'("Submit your monthly strategy to the council and wait until next month.")
);
construction_price : array (construction_type, resource_type) of natural := (
(0, 10, 60, 30),
(0, 120, 60, 10),
(0, 30, 10, 60),
(0, 60, 30, 10)
);
procedure separator is
begin
put_line (grey & "------------------------------------------------------------------------------------------" & cancel);
end separator;
begin
separator;
separator;
separator;
end xerbia;