Commiting...
This commit is contained in:
parent
ce4e496107
commit
ab5dc8fcb0
47
ammunition.adb
Normal file
47
ammunition.adb
Normal 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;
|
@ -52,4 +52,9 @@ package ammunition is
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
procedure generate;
|
||||
procedure render;
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
end ammunition;
|
||||
|
45
animal.adb
Normal file
45
animal.adb
Normal 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;
|
@ -134,4 +134,9 @@ package animal is
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
procedure generate;
|
||||
procedure render;
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
end animal;
|
||||
|
45
armour.adb
Normal file
45
armour.adb
Normal 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;
|
@ -53,4 +53,9 @@ package armour is
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
procedure generate;
|
||||
procedure render;
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
end armour;
|
||||
|
@ -2,6 +2,8 @@
|
||||
|
||||
set -xe
|
||||
|
||||
# WIP
|
||||
|
||||
rm -rf *.o *.ali
|
||||
|
||||
gnatmake -o xabina main.adb
|
||||
|
45
magic.adb
Normal file
45
magic.adb
Normal 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;
|
@ -52,4 +52,9 @@ package magic is
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
procedure generate;
|
||||
procedure render;
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
end magic;
|
||||
|
45
monster.adb
Normal file
45
monster.adb
Normal 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;
|
@ -52,4 +52,9 @@ package monster is
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
procedure generate;
|
||||
procedure render;
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
end monster;
|
||||
|
45
plant.adb
Normal file
45
plant.adb
Normal 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;
|
Loading…
Reference in New Issue
Block a user