brmlife/agent.h
2011-11-27 04:30:18 +01:00

42 lines
661 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 map ↦
class tile *tile;
int energy;
bool dead;
agent(int id_, class connection *conn_, class map &map_)
: id (id_), conn (conn_), map (map_)
{
energy = world::newborn_energy;
dead = false;
};
void spawn(void);
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