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 disLikeBox;
Dna *dnaShow = nullptr;
Unit unit;
DnaManager manager;
};

View File

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

View File

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

View File

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