From 4adafbd80834b0209ea69b644c1eb041046a6a51 Mon Sep 17 00:00:00 2001 From: Nikola Petrov Date: Fri, 3 Jan 2025 11:43:35 +0100 Subject: [PATCH] WIP --- inc/App.hpp | 2 +- inc/values/DnaManager.hpp | 19 +++++++++++++++++-- src/App.cpp | 19 ++++++++++++------- src/values/DnaManager.cpp | 16 ++++++++++++++-- 4 files changed, 44 insertions(+), 12 deletions(-) diff --git a/inc/App.hpp b/inc/App.hpp index 5c98448..96bdc35 100644 --- a/inc/App.hpp +++ b/inc/App.hpp @@ -21,6 +21,6 @@ private: Rectangle likeBox; Rectangle disLikeBox; - Dna *dnaShow = nullptr; + Unit unit; DnaManager manager; }; diff --git a/inc/values/DnaManager.hpp b/inc/values/DnaManager.hpp index a90cab5..a1df4ae 100644 --- a/inc/values/DnaManager.hpp +++ b/inc/values/DnaManager.hpp @@ -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; diff --git a/src/App.cpp b/src/App.cpp index a4b96c1..b5f70a7 100644 --- a/src/App.cpp +++ b/src/App.cpp @@ -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(); } \ No newline at end of file diff --git a/src/values/DnaManager.cpp b/src/values/DnaManager.cpp index 16dd975..cbd6f6c 100644 --- a/src/values/DnaManager.cpp +++ b/src/values/DnaManager.cpp @@ -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) +{ } \ No newline at end of file