diplomska_naloga/inc/values/DnaManager.hpp

49 lines
649 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));
struct DnaManagerData
{
int generation;
uint128 randSeed;
uint128 id;
int queued;
int showed;
std::vector<Dna> vector;
std::vector<int> liked;
std::vector<int> disliked;
};
namespace DnaManager
{
UiUnit next(DnaManagerData *data);
bool like(UiUnit unit, DnaManagerData *data);
void newGen(DnaManagerData *data);
};