mirror of
https://github.com/brmlab/brmlife.git
synced 2025-08-02 09:53:38 +02:00
40 lines
596 B
C++
40 lines
596 B
C++
#ifndef BRMLIFE__AGENT_H
|
|
#define BRMLIFE__AGENT_H
|
|
|
|
#include "map.h"
|
|
#include "world.h"
|
|
|
|
class connection;
|
|
|
|
class agent {
|
|
public:
|
|
int id;
|
|
class connection *conn;
|
|
|
|
class tile *tile;
|
|
|
|
int energy;
|
|
bool dead;
|
|
|
|
agent(int id_, class connection *conn_)
|
|
: id (id_), conn (conn_)
|
|
{
|
|
energy = world::newborn_energy;
|
|
dead = false;
|
|
};
|
|
void spawn_at(class tile &tile);
|
|
|
|
bool move_dir(int dir_x, int dir_y);
|
|
bool attack_dir(int dir_x, int dir_y);
|
|
|
|
void chenergy(int delta);
|
|
void die(void);
|
|
|
|
void on_action_takes(void);
|
|
void on_tick(void);
|
|
void on_senses_update(void);
|
|
|
|
~agent();
|
|
};
|
|
|
|
#endif
|