|
|
@@ -6,20 +6,20 @@ package body ai is |
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
|
|
|
|
|
function agent_is_envious (index : in natural) return boolean is begin return (agent (index).soul and envy) = envy; end agent_is_envious; |
|
|
|
function agent_is_glutton (index : in natural) return boolean is begin return (agent (index).soul and gluttony) = gluttony; end agent_is_glutton; |
|
|
|
function agent_is_greedy (index : in natural) return boolean is begin return (agent (index).soul and greed) = greed; end agent_is_greedy; |
|
|
|
function agent_is_slutty (index : in natural) return boolean is begin return (agent (index).soul and lust) = lust; end agent_is_slutty; |
|
|
|
function agent_is_proud (index : in natural) return boolean is begin return (agent (index).soul and pride) = pride; end agent_is_proud; |
|
|
|
function agent_is_lazy (index : in natural) return boolean is begin return (agent (index).soul and sloth) = sloth; end agent_is_lazy; |
|
|
|
function agent_is_angry (index : in natural) return boolean is begin return (agent (index).soul and wrath) = wrath; end agent_is_angry; |
|
|
|
function agent_is_thirsty (index : in natural) return boolean is begin return (agent (index).mind and thirst) = thirst; end agent_is_thirsty; |
|
|
|
function agent_is_hungry (index : in natural) return boolean is begin return (agent (index).mind and hunger) = hunger; end agent_is_hungry; |
|
|
|
function agent_is_tired (index : in natural) return boolean is begin return (agent (index).mind and fatigue) = fatigue; end agent_is_tired; |
|
|
|
function agent_is_lonely (index : in natural) return boolean is begin return (agent (index).mind and solitude) = solitude; end agent_is_lonely; |
|
|
|
function agent_is_healthy (index : in natural) return boolean is begin return (agent (index).mind and health) = health; end agent_is_healthy; |
|
|
|
function agent_is_happy (index : in natural) return boolean is begin return (agent (index).mind and joy) = joy; end agent_is_happy; |
|
|
|
function agent_is_bored (index : in natural) return boolean is begin return (agent (index).mind and boredom) = boredom; end agent_is_bored; |
|
|
|
function actor_is_envious return boolean is begin return (actor (active).soul and envy) = envy; end actor_is_envious; |
|
|
|
function actor_is_glutton return boolean is begin return (actor (active).soul and gluttony) = gluttony; end actor_is_glutton; |
|
|
|
function actor_is_greedy return boolean is begin return (actor (active).soul and greed) = greed; end actor_is_greedy; |
|
|
|
function actor_is_slutty return boolean is begin return (actor (active).soul and lust) = lust; end actor_is_slutty; |
|
|
|
function actor_is_proud return boolean is begin return (actor (active).soul and pride) = pride; end actor_is_proud; |
|
|
|
function actor_is_lazy return boolean is begin return (actor (active).soul and sloth) = sloth; end actor_is_lazy; |
|
|
|
function actor_is_angry return boolean is begin return (actor (active).soul and wrath) = wrath; end actor_is_angry; |
|
|
|
function actor_is_thirsty return boolean is begin return (actor (active).mind and thirst) = thirst; end actor_is_thirsty; |
|
|
|
function actor_is_hungry return boolean is begin return (actor (active).mind and hunger) = hunger; end actor_is_hungry; |
|
|
|
function actor_is_tired return boolean is begin return (actor (active).mind and fatigue) = fatigue; end actor_is_tired; |
|
|
|
function actor_is_lonely return boolean is begin return (actor (active).mind and solitude) = solitude; end actor_is_lonely; |
|
|
|
function actor_is_healthy return boolean is begin return (actor (active).mind and health) = health; end actor_is_healthy; |
|
|
|
function actor_is_happy return boolean is begin return (actor (active).mind and joy) = joy; end actor_is_happy; |
|
|
|
function actor_is_bored return boolean is begin return (actor (active).mind and boredom) = boredom; end actor_is_bored; |
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------ |
|
|
|
|
|
|
@@ -32,9 +32,9 @@ package body ai is |
|
|
|
|
|
|
|
procedure serialize (i : in natural) is |
|
|
|
begin |
|
|
|
if agent_is_bored (i) and agent_is_healthy (i) and not agent_is_hungry (i) then |
|
|
|
--~if actor_is_bored (i) and actor_is_healthy (i) and not actor_is_hungry (i) then |
|
|
|
null; |
|
|
|
end if; |
|
|
|
--~end if; |
|
|
|
end serialize; |
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------ |
|
|
@@ -48,28 +48,31 @@ package body ai is |
|
|
|
|
|
|
|
procedure synchronize is |
|
|
|
begin |
|
|
|
core.echo (core.failure, "No AI yet folk!"); |
|
|
|
null; |
|
|
|
end synchronize; |
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------ |
|
|
|
|
|
|
|
procedure review is |
|
|
|
width : integer := 600; |
|
|
|
height : integer := 300; |
|
|
|
offset : integer := 32; |
|
|
|
x : integer := (core.window_width - width) / 2; |
|
|
|
y : integer := (core.window_height - height) / 2; |
|
|
|
--~width : integer := 600; |
|
|
|
--~height : integer := 300; |
|
|
|
--~offset : integer := 32; |
|
|
|
--~x : integer := (core.window_width - width) / 2; |
|
|
|
--~y : integer := (core.window_height - height) / 2; |
|
|
|
begin |
|
|
|
ui.draw_tiny_menu (x, y, width, height, true); |
|
|
|
for index in 1 .. agent_count |
|
|
|
loop |
|
|
|
core.write ("Bot" & integer'image (index), x + offset + 0, y * index + offset, ui.glyphs (ui.active)); |
|
|
|
core.write ("T =" & boolean'image (agent_is_thirsty (index)), x + offset + 120, y * index + offset, ui.glyphs (ui.active)); |
|
|
|
core.write ("H =" & boolean'image (agent_is_hungry (index)), x + offset + 240, y * index + offset, ui.glyphs (ui.active)); |
|
|
|
end loop; |
|
|
|
--~ui.draw_tiny_menu (x, y, width, height, true); |
|
|
|
--~for index in 1 .. actor_count |
|
|
|
--~loop |
|
|
|
--~core.write ("Bot" & integer'image (index), x + offset + 0, y * index + offset, ui.glyphs (ui.active)); |
|
|
|
--~core.write ("T =" & boolean'image (actor_is_thirsty (index)), x + offset + 120, y * index + offset, ui.glyphs (ui.active)); |
|
|
|
--~core.write ("H =" & boolean'image (actor_is_hungry (index)), x + offset + 240, y * index + offset, ui.glyphs (ui.active)); |
|
|
|
--~end loop; |
|
|
|
null; |
|
|
|
end review; |
|
|
|
|
|
|
|
procedure view_agent_state (index : in integer) is |
|
|
|
------------------------------------------------------------------------------------------ |
|
|
|
|
|
|
|
procedure view_actor_state (index : in integer) is |
|
|
|
width : integer := 320; |
|
|
|
height : integer := 544; |
|
|
|
offset : integer := 32; |
|
|
@@ -78,23 +81,25 @@ package body ai is |
|
|
|
begin |
|
|
|
ui.draw_tiny_menu (x, y, width, height, true); |
|
|
|
-- |
|
|
|
core.write (male_name_array (agent (index).name), x + offset, y + offset, ui.glyphs (ui.active)); |
|
|
|
active := index; |
|
|
|
-- |
|
|
|
core.write (male_name_array (actor (index).name), x + offset, y + offset, ui.glyphs (ui.active)); |
|
|
|
-- |
|
|
|
core.write ("Envious =" & boolean'image (agent_is_envious (index)), x + offset, y + offset + 32, ui.glyphs (ui.active)); |
|
|
|
core.write ("Glutton =" & boolean'image (agent_is_glutton (index)), x + offset, y + offset + 64, ui.glyphs (ui.active)); |
|
|
|
core.write ("Greedy =" & boolean'image (agent_is_greedy (index)), x + offset, y + offset + 96, ui.glyphs (ui.active)); |
|
|
|
core.write ("Slutty =" & boolean'image (agent_is_slutty (index)), x + offset, y + offset + 128, ui.glyphs (ui.active)); |
|
|
|
core.write ("Proud =" & boolean'image (agent_is_proud (index)), x + offset, y + offset + 160, ui.glyphs (ui.active)); |
|
|
|
core.write ("Lazy =" & boolean'image (agent_is_lazy (index)), x + offset, y + offset + 192, ui.glyphs (ui.active)); |
|
|
|
core.write ("Angry =" & boolean'image (agent_is_angry (index)), x + offset, y + offset + 224, ui.glyphs (ui.active)); |
|
|
|
core.write ("Thirsty =" & boolean'image (agent_is_thirsty (index)), x + offset, y + offset + 256, ui.glyphs (ui.active)); |
|
|
|
core.write ("Hungry =" & boolean'image (agent_is_hungry (index)), x + offset, y + offset + 288, ui.glyphs (ui.active)); |
|
|
|
core.write ("Tired =" & boolean'image (agent_is_tired (index)), x + offset, y + offset + 320, ui.glyphs (ui.active)); |
|
|
|
core.write ("Lonely =" & boolean'image (agent_is_lonely (index)), x + offset, y + offset + 352, ui.glyphs (ui.active)); |
|
|
|
core.write ("Healthy =" & boolean'image (agent_is_healthy (index)), x + offset, y + offset + 384, ui.glyphs (ui.active)); |
|
|
|
core.write ("Happy =" & boolean'image (agent_is_happy (index)), x + offset, y + offset + 416, ui.glyphs (ui.active)); |
|
|
|
core.write ("Bored =" & boolean'image (agent_is_bored (index)), x + offset, y + offset + 448, ui.glyphs (ui.active)); |
|
|
|
end view_agent_state; |
|
|
|
core.write ("Envious = " & boolean'image (actor_is_envious), x + offset, y + offset + 32, ui.glyphs (ui.active)); |
|
|
|
core.write ("Glutton = " & boolean'image (actor_is_glutton), x + offset, y + offset + 64, ui.glyphs (ui.active)); |
|
|
|
core.write ("Greedy = " & boolean'image (actor_is_greedy), x + offset, y + offset + 96, ui.glyphs (ui.active)); |
|
|
|
core.write ("Slutty = " & boolean'image (actor_is_slutty), x + offset, y + offset + 128, ui.glyphs (ui.active)); |
|
|
|
core.write ("Proud = " & boolean'image (actor_is_proud), x + offset, y + offset + 160, ui.glyphs (ui.active)); |
|
|
|
core.write ("Lazy = " & boolean'image (actor_is_lazy), x + offset, y + offset + 192, ui.glyphs (ui.active)); |
|
|
|
core.write ("Angry = " & boolean'image (actor_is_angry), x + offset, y + offset + 224, ui.glyphs (ui.active)); |
|
|
|
core.write ("Thirsty = " & boolean'image (actor_is_thirsty), x + offset, y + offset + 256, ui.glyphs (ui.active)); |
|
|
|
core.write ("Hungry = " & boolean'image (actor_is_hungry), x + offset, y + offset + 288, ui.glyphs (ui.active)); |
|
|
|
core.write ("Tired = " & boolean'image (actor_is_tired), x + offset, y + offset + 320, ui.glyphs (ui.active)); |
|
|
|
core.write ("Lonely = " & boolean'image (actor_is_lonely), x + offset, y + offset + 352, ui.glyphs (ui.active)); |
|
|
|
core.write ("Healthy = " & boolean'image (actor_is_healthy), x + offset, y + offset + 384, ui.glyphs (ui.active)); |
|
|
|
core.write ("Happy = " & boolean'image (actor_is_happy), x + offset, y + offset + 416, ui.glyphs (ui.active)); |
|
|
|
core.write ("Bored = " & boolean'image (actor_is_bored), x + offset, y + offset + 448, ui.glyphs (ui.active)); |
|
|
|
end view_actor_state; |
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
|
|
|
|
|