This commit is contained in:
Nikola Petrov 2025-01-03 11:43:35 +01:00
parent dd54985dc1
commit 4adafbd808
4 changed files with 44 additions and 12 deletions

View File

@ -21,6 +21,6 @@ private:
Rectangle likeBox; Rectangle likeBox;
Rectangle disLikeBox; Rectangle disLikeBox;
Dna *dnaShow = nullptr; Unit unit;
DnaManager manager; DnaManager manager;
}; };

View File

@ -1,10 +1,25 @@
#include "values/Dna.hpp" #include "values/Dna.hpp"
enum Liked
{
yes,
no,
tbd
};
struct Unit
{
Dna *dna;
Liked liked;
};
class DnaManager class DnaManager
{ {
public: public:
DnaManager() = default; void init();
Dna *next(bool prevLiked); void deinit();
Unit next();
void like(Unit unit);
private: private:
Dna dna; Dna dna;

View File

@ -17,9 +17,9 @@ void App::init(int screenWidth, int screenHeight)
mrand::setSeed(1); mrand::setSeed(1);
canvasTexure = LoadRenderTexture(screenWidth, screenWidth); canvasTexure = LoadRenderTexture(screenWidth, screenWidth);
dnaShow = manager.next(false); manager.init();
canvas.newGen(canvasTexure, dnaShow); unit = manager.next();
canvas.newGen(canvasTexure, unit.dna);
float posY = (screenHeight - screenWidth) / 2.0f; float posY = (screenHeight - screenWidth) / 2.0f;
float recPosX = screenWidth * 0.2f; float recPosX = screenWidth * 0.2f;
dest = {0, posY, (float)screenWidth, (float)screenWidth}; dest = {0, posY, (float)screenWidth, (float)screenWidth};
@ -35,13 +35,17 @@ void App::update()
Vector2 mouse = GetMousePosition(); Vector2 mouse = GetMousePosition();
if (CheckCollisionPointRec(mouse, disLikeBox)) if (CheckCollisionPointRec(mouse, disLikeBox))
{ {
dnaShow = manager.next(false); unit.liked = Liked::no;
canvas.newGen(canvasTexure, dnaShow); manager.like(unit);
unit = manager.next();
canvas.newGen(canvasTexure, unit.dna);
} }
if (CheckCollisionPointRec(mouse, likeBox)) if (CheckCollisionPointRec(mouse, likeBox))
{ {
dnaShow = manager.next(true); unit.liked = Liked::yes;
canvas.newGen(canvasTexure, dnaShow); manager.like(unit);
unit = manager.next();
canvas.newGen(canvasTexure, unit.dna);
} }
} }
} }
@ -59,4 +63,5 @@ void App::deinit()
{ {
UnloadRenderTexture(canvasTexure); UnloadRenderTexture(canvasTexure);
canvas.deinit(); canvas.deinit();
manager.deinit();
} }

View File

@ -1,7 +1,19 @@
#include "values/DnaManager.hpp" #include "values/DnaManager.hpp"
Dna *DnaManager::next(bool prevLiked) void DnaManager::init()
{
}
void DnaManager::deinit()
{
}
Unit DnaManager::next()
{ {
newDna(dna); newDna(dna);
return &dna; return {&dna, Liked::tbd};
}
void DnaManager::like(Unit unit)
{
} }