-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwasp.h
More file actions
49 lines (39 loc) · 1.26 KB
/
wasp.h
File metadata and controls
49 lines (39 loc) · 1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/* -*- Mode: C++; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
/*
* LEvoSim
* Copyright (C) Lew Palm 2019 <lp@lew-palm.de>
*
*/
#ifndef _WASP_H_
#define _WASP_H_
#include "insect.h"
#include "debug_macros.h"
#define GENOME_SIZE 4
class Wasp;
typedef std::shared_ptr<Wasp> wasp_ptr;
/**
* A Wasp is an insect. This kind of wasp likes to put its eggs into the eggs of flys.
*/
class Wasp : public Insect {
public:
Wasp(genome_ptr mygen = genome_ptr(new Genome(typeid(Wasp), GENOME_SIZE)));
action cognite(const perception* agents_personal_perception);
bool is_parasitoid();
protected:
private:
/** Quantity of found fly eggs in the current branch. */
unsigned int fly_eggs_seen;
/** Quantity of found empty fruits in the current branch. */
unsigned int empty_fruits_seen;
/** Quantity of found eggs of the own genome in the current branch. */
unsigned int own_eggs_seen;
/** Quantity of found eggs of a different wasp genome in the current branch. */
unsigned int foreign_wasp_eggs_seen;
/** All eggs this wasp laid. */
unsigned int laid_eggs;
/** Laid eggs in the current cluster. */
unsigned int cluster_laid_eggs;
/** All found fruits where no laying was possible. */
unsigned int bad_fruits_seen;
};
#endif // _WASP_H_