agent::spawn(): Introduce

This commit is contained in:
Petr Baudis 2011-11-27 04:30:18 +01:00
parent 7714906baa
commit 812e0da79b
3 changed files with 12 additions and 4 deletions

View file

@ -7,6 +7,12 @@
#include "main.h"
#include "map.h"
void
agent::spawn(void)
{
spawn_at(map.agent_startpos());
}
void
agent::spawn_at(class tile &t)
{

View file

@ -11,17 +11,19 @@ public:
int id;
class connection *conn;
class map ↦
class tile *tile;
int energy;
bool dead;
agent(int id_, class connection *conn_)
: id (id_), conn (conn_)
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);

View file

@ -67,9 +67,9 @@ next_agent:
int cfd = accept(lfd, NULL, NULL);
if (cfd >= 0) {
class connection *conn = new class connection(cfd);
class agent *a = new class agent(aid++, conn);
class agent *a = new class agent(aid++, conn, map);
agents.push_back(a);
a->spawn_at(map.agent_startpos());
a->spawn();
}
/* Collect and take actions. */