6dc4287ae3
The project now builds.
- Updated .vscode/launch.json and .vscode/tasks.json for improved
development workflow
- Modified Makefile.am, configure, and configure.ac for build process
enhancements
- Updated corelogic/Makefile.am and
corelogic/include/sensors/interoceptor.h
- Renamed corelogic/main.cpp to main.cpp for better project organization
42 lines
734 B
C++
42 lines
734 B
C++
#include <mind.h>
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
Mind mind;
|
|
|
|
for (;;)
|
|
{
|
|
AttentionGrabber currentEmergency = mind.poll();
|
|
|
|
if (!currentEmergency)
|
|
{
|
|
// Idle thought's goal is automatically Goal::DRIFT.
|
|
auto idleThought = std::make_shared<IdleThought>();
|
|
|
|
mind.focusOn(idleThought);
|
|
}
|
|
else
|
|
{
|
|
thought::Goal goal;
|
|
|
|
auto urgentThought = std::make_shared<ActiveThought>(currentEmergency);
|
|
|
|
if (!mind.recognizes(currentEmergency.cause)) {
|
|
goal = thought::Goal
|
|
::ASSOCIATE_CAUSAL_QUALE_WITH_INTRINSIC_MOTIVATORS;
|
|
}
|
|
else {
|
|
goal = thought::Goal
|
|
::RESPOND_TO_CAUSAL_QUALE;
|
|
}
|
|
|
|
urgentThought->setGoal(goal);
|
|
mind.focusOn(urgentThought);
|
|
}
|
|
|
|
mind.execute();
|
|
}
|
|
|
|
return 0;
|
|
}
|