#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;
  int index;
};

class DnaManager
{
public:
  void init();
  void deinit();
  Unit next();
  void like(Unit unit);
  int generation;

private:
  void saveData();
  void saveVec();
  uint128 randSeed;
  uint128 id;
  int queued;
  int showed;
  std::vector<Dna> vector;
  std::vector<int> liked;
  std::vector<int> disliked;

  void newGen();
};