diff --git a/dependencies/testproject_featuredemo.cpp b/dependencies/testproject_featuredemo.cpp index 7c6eb881cb6efedb487dcaee7440e1141ea5c556..de9722bfde98792958fd728a30d12728463ec2eb 100644 --- a/dependencies/testproject_featuredemo.cpp +++ b/dependencies/testproject_featuredemo.cpp @@ -1,11 +1,12 @@ #define _USE_MATH_DEFINES -#include <AnimationWindow.h> +#include "AnimationWindow.h" #include <chrono> #include <climits> #include <cmath> #include <iostream> #include <random> +#include <map> #include "widgets/Button.h" #include "widgets/TextInput.h" @@ -19,6 +20,14 @@ struct Ball { TDT4102::Color colour = TDT4102::Color::white; }; +std::map<std::string, const TDT4102::Color&> stringToColor { + {"red", TDT4102::Color::red}, + {"gold", TDT4102::Color::gold}, + {"green", TDT4102::Color::green}, + {"rebecca_purple", TDT4102::Color::rebecca_purple}, + {"blue", TDT4102::Color::blue}, +}; + int x = 10; inline int randint(int min, int max) { @@ -62,6 +71,8 @@ int main(int argc, char* argv[]) { image.width = 100; image.height = 100; + std::vector<std::string> colors{"red", "gold", "green", "rebecca_purple", "blue"}; + std::vector<Ball> circles; circles.resize(5000); for (unsigned int i = 0; i < circles.size(); i++) { @@ -70,7 +81,9 @@ int main(int argc, char* argv[]) { circles.at(i).radius = randint(5, 10); circles.at(i).xSpeed = float(randint(-400, 400)) / 100.0f; circles.at(i).ySpeed = float(randint(-400, 400)) / 100.0f; - circles.at(i).colour = TDT4102::Color(randint(INT_MIN, INT_MAX) & 0xFFFFFF00); + // circles.at(i).colour = TDT4102::Color(randint(INT_MIN, INT_MAX) & 0xFFFFFF00); + circles.at(i).colour = stringToColor.at(colors.at(randint(0, (colors.size()-1)))); + // circles.at(i).colour = TDT4102::Color::rebecca_purple; } while (!window.should_close()) { if (window.is_key_down(KeyboardKey::A)) {