mirror of
https://github.com/brmlab/brmlife.git
synced 2025-08-02 18:03:37 +02:00
42 lines
661 B
C++
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
|