From 28fd6163c87b7e4b7952eeb1af299607e2830229 Mon Sep 17 00:00:00 2001 From: xolatile Date: Fri, 22 Mar 2024 11:08:37 -0400 Subject: [PATCH] Prototype for indexing bot AI actions and male name definitions... --- source/ai.adb | 7 +++++- source/ai.ads | 71 +++++++++++++++++++++++++++++++++++++++++++++++++-------- source/main.adb | 3 ++- 3 files changed, 70 insertions(+), 11 deletions(-) diff --git a/source/ai.adb b/source/ai.adb index 591a71d..2f93aa4 100644 --- a/source/ai.adb +++ b/source/ai.adb @@ -8,11 +8,16 @@ package body ai is procedure configure is begin - null; + core.echo (core.failure, "No AI yet folk!"); end configure; ------------------------------------------------------------------------------------------ + procedure action_none is begin null; end action_none; + procedure action_walk is begin null; end action_walk; + procedure action_talk is begin null; end action_talk; + procedure action_find is begin null; end action_find; + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end ai; diff --git a/source/ai.ads b/source/ai.ads index bac2fd0..7aabc93 100644 --- a/source/ai.ads +++ b/source/ai.ads @@ -5,7 +5,7 @@ package ai is ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ type action is ( - none, walk, talk, find, + none, walk, talk, find ); type action_data is @@ -17,16 +17,69 @@ package ai is ------------------------------------------------------------------------------------------ - procedure action_none is begin end action_none; - procedure action_walk is begin end action_walk; - procedure action_talk is begin end action_talk; - procedure action_find is begin end action_find; + procedure action_none; + procedure action_walk; + procedure action_talk; + procedure action_find; action_list : constant array (action) of action_data := ( - (000000, action_none, "idle "), - (000001, action_walk, "walking "), - (000300, action_talk, "talking "), - (050060, action_find, "finding ") + (000000, action_none'access, "idle "), + (000001, action_walk'access, "walking "), + (000300, action_talk'access, "talking "), + (050060, action_find'access, "finding ") + ); + + global_male_name_list : constant array (1 .. 400) of string (1 .. 16) := ( + "Unumis ", "Aardappel ", "Aaron ", "Abel ", "Abgar ", "Abiathar ", "Abijah ", "Abraham ", + "Abram ", "Absolom ", "Adam ", "Adonijah ", "Ael ", "Aghasi ", "Aidan ", "Ajnak ", + "Aknunbi ", "Alexan ", "Alishan ", "Alvedos ", "Aman ", "Amaras ", "Amariah ", "Amoz ", + "Amozthel ", "Amurin ", "Amuu ", "Anairiah ", "Anak ", "Andranik ", "Andro ", "Anushavan ", + "Ara ", "Arakel ", "Aram ", "Aramagd ", "Arayik ", "Ardelico ", "Armen ", "Arsen ", + "Artem ", "Arthur ", "Asa ", "Asaph ", "Asher ", "Asnio ", "Aspet ", "Atrushan ", + "Ava ", "Avag ", "Aygek ", "Azariah ", "Azat ", "Aznavur ", "Babken ", "Baelos ", + "Barak ", "Barsegh ", "Baruch ", "Barunak ", "Bashkhi ", "Benaiah ", "Bildad ", "Cain ", + "Calah ", "Caleb ", "Camon ", "Chenon ", "Dan ", "Daniel ", "David ", "Davtak ", + "Delayahu ", "Derenik ", "Dnei ", "Dovin ", "Drastamat ", "Eahenos ", "Ebenezer ", "Eihrul ", + "Elah ", "Eleazar ", "Eli ", "Eliah ", "Elihu ", "Elijah ", "Eliphaz ", "Elisha ", + "Elkanah ", "Elnathan ", "Emmanuel ", "Enoch ", "Ephraim ", "Esau ", "Ethan ", "Ezekiel ", + "Ezubesh ", "Faegal ", "Fairhim ", "Famnah ", "Faneon ", "Farathen ", "Feanel ", "Gabriel ", + "Gale ", "Galust ", "Gamar ", "Garegin ", "Garnik ", "Geanos ", "Gegham ", "Gera ", + "Gerena ", "Gershon ", "Gevorg ", "Gharip ", "Ghazaros ", "Ghevond ", "Ghukas ", "Gideon ", + "Gind ", "Glak ", "Gnel ", "Gor ", "Grigor ", "Haan ", "Hacob ", "Haeden ", + "Haegor ", "Haefel ", "Haffthel ", "Haffroht ", "Haggai ", "Haman ", "Hamazasp ", "Hamlik ", + "Hayastan ", "Haydug ", "Hayk ", "Haykashen ", "Haykazn ", "Hazdan ", "Helden ", "Helg ", + "Helnor ", "Hetum ", "Heviathan ", "Hosea ", "Hovakim ", "Hovik ", "Hovnel ", "Hovsep ", + "Hrand ", "Hrayr ", "Hushai ", "Ira ", "Iradon ", "Ireanok ", "Irenadal ", "Irinei ", + "Irodes ", "Isaac ", "Isaiah ", "Ishmael ", "Ishnil ", "Jacob ", "Jair ", "Janes ", + "Japheth ", "Jason ", "Javan ", "Jeremiah ", "Jesiah ", "Jethera ", "Joab ", "Joash ", + "Job ", "Jogunel ", "Johuna ", "Jonah ", "Jonathan ", "Jordan ", "Joseph ", "Joshua ", + "Judas ", "Kaggen ", "Kagion ", "Kain ", "Kamo ", "Karapet ", "Karen ", "Karin ", + "Kasas ", "Kastag ", "Kattenion ", "Kaytsak ", "Kearni ", "Kemuel ", "Kenan ", "Kenaz ", + "Kerioth ", "Khacheres ", "Khad ", "Khajak ", "Khoren ", "Khosrov ", "Konstandin ", "Koryun ", + "Layin ", "Lazarus ", "Leishin ", "Lemuel ", "Lenoch ", "Lenumin ", "Leon ", "Lepranik ", + "Lernik ", "Levi ", "Levon ", "Liparit ", "Loris ", "Lot ", "Lucian ", "Lynth ", + "Makar ", "Manasseh ", "Margar ", "Martik ", "Mashtots ", "Matthew ", "Matthias ", "Mekhak ", + "Melkon ", "Mesrop ", "Michael ", "Mihran ", "Milrad ", "Minas ", "Mkhitar ", "Movses ", + "Mushegh ", "Myne ", "Nadab ", "Nahum ", "Naphtali ", "Nar ", "Narek ", "Narinth ", + "Nathan ", "Nathanael ", "Natten ", "Naumen ", "Navasard ", "Nazaret ", "Nehemiah ", "Nekoda ", + "Nekudin ", "Neldenah ", "Nelh ", "Nepria ", "Nerses ", "Nev ", "Neven ", "Nevosh ", + "Nikoghos ", "Nimuo ", "Noah ", "Norayr ", "Norik ", "Obadiah ", "Obed ", "Ogsen ", + "Olaph ", "Omar ", "Onnip ", "Ornhul ", "Oshakan ", "Paghtazar ", "Oshin ", "Othniel ", + "Pargev ", "Paruyr ", "Paul ", "Peto ", "Phinehas ", "Raamah ", "Renael ", "Reuben ", + "Rhaman ", "Roderich ", "Rott ", "Sago ", "Sahak ", "Samson ", "Samuel ", "Sanasar ", + "Sargis ", "Saro ", "Sasun ", "Saul ", "Saurkano ", "Sava ", "Savashin ", "Sedah ", + "Sedrak ", "Seth ", "Sevak ", "Shaden ", "Shadrach ", "Shahan ", "Shant ", "Shara ", + "Shem ", "Shnorhali ", "Simeon ", "Sion ", "Sirakan ", "Slak ", "Slaven ", "Slein ", + "Solomon ", "Sora ", "Sukias ", "Tadeos ", "Tagavor ", "Tamnuhl ", "Taron ", "Tatev ", + "Teneshel ", "Tenian ", "Thaddeus ", "Thomas ", "Tiamath ", "Tirayr ", "Tirazan ", "Tirit ", + "Tobiah ", "Tobias ", "Tonapet ", "Tork ", "Tornik ", "Trdat ", "Tukhayr ", "Ulukai ", + "Uldrel ", "Umenok ", "Umiyen ", "Unakan ", "Unearo ", "Uri ", "Uria ", "Uriah ", + "Uriel ", "Uzziah ", "Vagharshak ", "Vahagn ", "Vahan ", "Vahe ", "Vahram ", "Vakhtang ", + "Van ", "Vanakan ", "Vanand ", "Varag ", "Vardan ", "Vardges ", "Vareos ", "Vash ", + "Vazgen ", "Vazrik ", "Veleon ", "Veleshin ", "Vigen ", "Vordi ", "Vorotan ", "Voskan ", + "Vostan ", "Vrej ", "Yaan ", "Yaruga ", "Yashal ", "Ydelen ", "Yeghia ", "Yeghivard ", + "Yenovk ", "Yeprem ", "Yeremia ", "Yerjanik ", "Yeznik ", "Yezr ", "Yiin ", "Zacchaeus ", + "Zachariah ", "Zahn ", "Zareh ", "Zarmayr ", "Zaven ", "Zebadiah ", "Zedekiah ", "Zinthel " ); ------------------------------------------------------------------------------------------ diff --git a/source/main.adb b/source/main.adb index 45bbf67..f2d6ac7 100644 --- a/source/main.adb +++ b/source/main.adb @@ -1,6 +1,6 @@ pragma ada_2012; -with core, ui, effect, attribute, skill, resource, faction, might, magic, item, unit, construction, chad, world; +with core, ui, effect, attribute, skill, resource, faction, might, magic, item, unit, construction, chad, world, ai; procedure main is @@ -120,6 +120,7 @@ begin construction.configure; --~chad.configure; world.configure; + ai.configure; world.make (world.rough, 120, 100);