diplomska_naloga/inc/values/DnaManager.hpp

54 lines
661 B
C++

#include "values/Dna.hpp"
#include <list>
#include <vector>
#define NUM_PER_GEN 10
#define NUM_OF_MUT 1
enum Liked
{
tbd,
yes,
no
};
struct UiUnit
{
Dna *dna;
Liked liked;
int index;
};
struct NetUnit
{
uint128 hash;
uint32_t index;
Liked liked;
};
static_assert(24 == sizeof(NetUnit));
class DnaManager
{
public:
void init();
void deinit();
UiUnit next();
void like(UiUnit unit);
int generation;
private:
void saveData();
void saveVec();
void saveGen();
uint128 randSeed;
uint128 id;
int queued;
int showed;
std::vector<Dna> vector;
std::vector<int> liked;
std::vector<int> disliked;
void newGen();
};