⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ieowner.h

📁 C人工智能游戏开发的一些实例源代码 C Game development in artificial intelligence source code of some examples
💻 H
字号:


#ifndef _IEOWNER_H_
#define _IEOWNER_H_

#include <string>

class IE;

//
// Common interface for Inference Engine owner
//
class IEOwner
{

public:
    
    virtual void makeBrain () = 0;

    void think     ();
    
    void         setName ( char * name ) { m_name = name; }
    const char * getName () { return m_name.c_str(); }

protected:

    IE * m_brain;

    std::string m_name;
};

#define IE_START(name)\
void name::makeBrain ()\
{\
    char lineInfo[256];\
    IEExec * exec;\
    IE * ie = new IE;\
	ie->start (#name, this);

#define GOAL(execClass)\
    exec = new execClass;\
	ie->makeGoal(exec); 

#define IF(execClass)\
    exec = new execClass;\
    sprintf ( lineInfo, "File:%s Line %d", __FILE__, __LINE__ );\
	ie->makeRule(exec, lineInfo);

#define IF_DONE\
    ie->makeDoneRule();

#define GOTO(goal)\
    sprintf ( lineInfo, "File:%s Line %d", __FILE__, __LINE__ );\
	ie->addRuleGoto(#goal, lineInfo);

#define GOSUB(goal)\
    sprintf ( lineInfo, "File:%s Line %d", __FILE__, __LINE__ );\
	ie->addRuleGosub(#goal, lineInfo);

#define RETURN\
    sprintf ( lineInfo, "File:%s Line %d", __FILE__, __LINE__ );\
	ie->addRuleReturn(lineInfo);

#define IE_END \
	ie->end(); \
    m_brain = ie; \
}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -