agent.h

来自「实现Agent,绕墙走的功能,实现了图形化界面.点中按钮<AddWall&」· C头文件 代码 · 共 40 行

H
40
字号
#ifndef AGENT_JTWU_H
#define AGENT_JTWU_H

class Position {
public:
   int row;
   int col;
   Position() { row=0; col=0; }
   Position(int rw, int cl) { row=rw; col=cl; }
   Position(const Position & copy) { row=copy.row; col=copy.col; }
   operator = (const Position & copy) { row=copy.row; col=copy.col; }
   bool operator == (const Position & cmp) 
   { return ( (row==cmp.row) && (col==cmp.col) ); }
   Position East();
   Position South();
   Position West();
   Position North();
};
Position Position::East() { Position newpos(row, col+1); return newpos; }
Position Position::South() { Position newpos(row+1, col); return newpos; }
Position Position::West() { Position newpos(row, col-1); return newpos; }
Position Position::North() { Position newpos(row-1, col); return newpos; }

class Agent {
public:
   Agent() {;}
   Agent(int row, int col) { m_curpos.row = row; m_curpos.col = col; }
   Agent(const Position & pos);
   void GotoNewPosition( const Position & newpos );
   Position GetCurrentPosition();
   bool operator == (Agent cmp) { return (cmp.m_curpos == m_curpos);}
private:
   Position  m_curpos;
};

Agent::Agent(const Position & pos) { m_curpos = pos; }
void Agent::GotoNewPosition( const Position & newpos ) { m_curpos = newpos; }
Position Agent::GetCurrentPosition() { return m_curpos; }

#endif //:~AGENT_JTWU_H

⌨️ 快捷键说明

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