Finish DnaManager

This commit is contained in:
2025-01-03 16:34:05 +01:00
parent 4adafbd808
commit 3122817eee
8 changed files with 204 additions and 31 deletions

View File

@@ -13,6 +13,8 @@ public:
void deinit();
private:
void upTex(Liked liked);
int screenWidth, screenHeight;
Canvas canvas;
RenderTexture2D canvasTexure = {0};

View File

@@ -53,7 +53,8 @@ struct Dna
uint8_t colorSet;
Branch branches[MAX_DEPTH];
};
void newDna(Dna &dna);
void newDna(Dna *dna, uint128 *state);
void makeChild(Dna *p1, Dna *p2, Dna *c, uint128 *state);
void clone(Dna *p1, Dna *c, uint128 *state);
void mutate(Dna *dna, uint32_t num, uint128 *state);
#endif /* DNA_H */

View File

@@ -1,4 +1,9 @@
#include "values/Dna.hpp"
#include <list>
#include <vector>
#define NUM_PER_GEN 10
#define NUM_OF_MUT 1
enum Liked
{
@@ -22,5 +27,12 @@ public:
void like(Unit unit);
private:
Dna dna;
uint128 randSeed;
std::vector<Dna> vector;
std::list<Dna *> queued;
std::list<Dna *> showed;
std::vector<Dna *> liked;
std::vector<Dna *> disliked;
void newGen();
};

View File

@@ -5,9 +5,9 @@ struct uint128;
namespace mrand
{
void setSeed(unsigned long long seed);
int getValue(int min, int max);
// int getValue(int min, int max);
float getFloat(uint128 *state);
float getFloat();
// float getFloat();
int getValue(int min, int max, uint128 *state);
uint32_t getInt();
}