Commiting...

This commit is contained in:
Ognjen Milan Robovic 2023-10-16 14:28:07 -04:00
parent ce4e496107
commit ab5dc8fcb0
13 changed files with 304 additions and 0 deletions

47
ammunition.adb Normal file
View File

@ -0,0 +1,47 @@
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 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.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
with core, map;
package body ammunition is
------------------------------------------------------------------------------------------
procedure generate is
y : natural := 0;
x : natural := 0;
identifier : natural := 0;
begin
for this in map.mark
loop
y := core.randomize (0, natural (map.height'last));
x := core.randomize (0, natural (map.width'last));
identifier := core.randomize (0, natural (list'size));
map.variable_data (this) := (integer (y), integer (x), core.ammunition, identifier);
end loop;
end generate;
procedure render is
symbol : character := ' ';
colour : character := core.colour.white;
effect : character := core.effect.normal;
begin
for this in map.mark
loop
symbol := constant_data (list'val (map.variable_data (this).identifier)).symbol;
colour := constant_data (list'val (map.variable_data (this).identifier)).colour;
effect := constant_data (list'val (map.variable_data (this).identifier)).effect;
core.render_character (symbol, colour, effect, core.screen_height (map.variable_data (this).y), core.screen_width (map.variable_data (this).x));
end loop;
end render;
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
end ammunition;

View File

@ -52,4 +52,9 @@ package ammunition is
------------------------------------------------------------------------------------------
procedure generate;
procedure render;
------------------------------------------------------------------------------------------
end ammunition;

45
animal.adb Normal file
View File

@ -0,0 +1,45 @@
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 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.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
with core, map;
package body animal is
------------------------------------------------------------------------------------------
procedure generate is
y : natural := 0;
x : natural := 0;
identifier : natural := 0;
begin
for this in map.mark
loop
y := core.randomize (0, natural (map.height'last));
x := core.randomize (0, natural (map.width'last));
identifier := core.randomize (0, natural (list'size));
map.variable_data (this) := (integer (y), integer (x), core.animal, identifier);
end loop;
end generate;
procedure render is
symbol : character := ' ';
colour : character := core.colour.white;
effect : character := core.effect.normal;
begin
for this in map.mark
loop
symbol := constant_data (list'val (map.variable_data (this).identifier)).symbol;
colour := constant_data (list'val (map.variable_data (this).identifier)).colour;
effect := constant_data (list'val (map.variable_data (this).identifier)).effect;
core.render_character (symbol, colour, effect, core.screen_height (map.variable_data (this).y), core.screen_width (map.variable_data (this).x));
end loop;
end render;
------------------------------------------------------------------------------------------
end animal;

View File

@ -134,4 +134,9 @@ package animal is
------------------------------------------------------------------------------------------
procedure generate;
procedure render;
------------------------------------------------------------------------------------------
end animal;

45
armour.adb Normal file
View File

@ -0,0 +1,45 @@
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 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.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
with core, map;
package body armour is
------------------------------------------------------------------------------------------
procedure generate is
y : natural := 0;
x : natural := 0;
identifier : natural := 0;
begin
for this in map.mark
loop
y := core.randomize (0, natural (map.height'last));
x := core.randomize (0, natural (map.width'last));
identifier := core.randomize (0, natural (list'size));
map.variable_data (this) := (integer (y), integer (x), core.armour, identifier);
end loop;
end generate;
procedure render is
symbol : character := ' ';
colour : character := core.colour.white;
effect : character := core.effect.normal;
begin
for this in map.mark
loop
symbol := constant_data (list'val (map.variable_data (this).identifier)).symbol;
colour := constant_data (list'val (map.variable_data (this).identifier)).colour;
effect := constant_data (list'val (map.variable_data (this).identifier)).effect;
core.render_character (symbol, colour, effect, core.screen_height (map.variable_data (this).y), core.screen_width (map.variable_data (this).x));
end loop;
end render;
------------------------------------------------------------------------------------------
end armour;

View File

@ -53,4 +53,9 @@ package armour is
------------------------------------------------------------------------------------------
procedure generate;
procedure render;
------------------------------------------------------------------------------------------
end armour;

View File

@ -2,6 +2,8 @@
set -xe
# WIP
rm -rf *.o *.ali
gnatmake -o xabina main.adb

45
magic.adb Normal file
View File

@ -0,0 +1,45 @@
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 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.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
with core, map;
package body magic is
------------------------------------------------------------------------------------------
procedure generate is
y : natural := 0;
x : natural := 0;
identifier : natural := 0;
begin
for this in map.mark
loop
y := core.randomize (0, natural (map.height'last));
x := core.randomize (0, natural (map.width'last));
identifier := core.randomize (0, natural (list'size));
map.variable_data (this) := (integer (y), integer (x), core.magic, identifier);
end loop;
end generate;
procedure render is
symbol : character := ' ';
colour : character := core.colour.white;
effect : character := core.effect.normal;
begin
for this in map.mark
loop
symbol := constant_data (list'val (map.variable_data (this).identifier)).symbol;
colour := constant_data (list'val (map.variable_data (this).identifier)).colour;
effect := constant_data (list'val (map.variable_data (this).identifier)).effect;
core.render_character (symbol, colour, effect, core.screen_height (map.variable_data (this).y), core.screen_width (map.variable_data (this).x));
end loop;
end render;
------------------------------------------------------------------------------------------
end magic;

View File

@ -52,4 +52,9 @@ package magic is
------------------------------------------------------------------------------------------
procedure generate;
procedure render;
------------------------------------------------------------------------------------------
end magic;

45
monster.adb Normal file
View File

@ -0,0 +1,45 @@
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 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.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
with core, map;
package body monster is
------------------------------------------------------------------------------------------
procedure generate is
y : natural := 0;
x : natural := 0;
identifier : natural := 0;
begin
for this in map.mark
loop
y := core.randomize (0, natural (map.height'last));
x := core.randomize (0, natural (map.width'last));
identifier := core.randomize (0, natural (list'size));
map.variable_data (this) := (integer (y), integer (x), core.monster, identifier);
end loop;
end generate;
procedure render is
symbol : character := ' ';
colour : character := core.colour.white;
effect : character := core.effect.normal;
begin
for this in map.mark
loop
symbol := constant_data (list'val (map.variable_data (this).identifier)).symbol;
colour := constant_data (list'val (map.variable_data (this).identifier)).colour;
effect := constant_data (list'val (map.variable_data (this).identifier)).effect;
core.render_character (symbol, colour, effect, core.screen_height (map.variable_data (this).y), core.screen_width (map.variable_data (this).x));
end loop;
end render;
------------------------------------------------------------------------------------------
end monster;

View File

@ -52,4 +52,9 @@ package monster is
------------------------------------------------------------------------------------------
procedure generate;
procedure render;
------------------------------------------------------------------------------------------
end monster;

45
plant.adb Normal file
View File

@ -0,0 +1,45 @@
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 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.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
with core, map;
package body plant is
------------------------------------------------------------------------------------------
procedure generate is
y : natural := 0;
x : natural := 0;
identifier : natural := 0;
begin
for this in map.mark
loop
y := core.randomize (0, natural (map.height'last));
x := core.randomize (0, natural (map.width'last));
identifier := core.randomize (0, natural (list'size));
map.variable_data (this) := (integer (y), integer (x), core.plant, identifier);
end loop;
end generate;
procedure render is
symbol : character := ' ';
colour : character := core.colour.white;
effect : character := core.effect.normal;
begin
for this in map.mark
loop
symbol := constant_data (list'val (map.variable_data (this).identifier)).symbol;
colour := constant_data (list'val (map.variable_data (this).identifier)).colour;
effect := constant_data (list'val (map.variable_data (this).identifier)).effect;
core.render_character (symbol, colour, effect, core.screen_height (map.variable_data (this).y), core.screen_width (map.variable_data (this).x));
end loop;
end render;
------------------------------------------------------------------------------------------
end plant;

View File

@ -55,4 +55,9 @@ package plant is
------------------------------------------------------------------------------------------
procedure generate;
procedure render;
------------------------------------------------------------------------------------------
end plant;