treender/inc/values/DnaManager.hpp

40 lines
490 B
C++

#include "values/Dna.hpp"
#include <list>
#include <vector>
#define NUM_PER_GEN 10
#define NUM_OF_MUT 1
enum Liked
{
yes,
no,
tbd
};
struct Unit
{
Dna *dna;
Liked liked;
};
class DnaManager
{
public:
void init();
void deinit();
Unit next();
void like(Unit unit);
private:
uint128 randSeed;
uint128 id;
std::vector<Dna> vector;
std::list<Dna *> queued;
std::list<Dna *> showed;
std::vector<Dna *> liked;
std::vector<Dna *> disliked;
void newGen();
};