added rng mode for diagonals
This commit is contained in:
parent
f65041c0ad
commit
872cd6c452
@ -2,6 +2,7 @@
|
|||||||
#include <cstdlib> // for srand, rand
|
#include <cstdlib> // for srand, rand
|
||||||
#include <fstream> // ifstream
|
#include <fstream> // ifstream
|
||||||
#include <ctime> // time
|
#include <ctime> // time
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
class NumberGenerator
|
class NumberGenerator
|
||||||
{
|
{
|
||||||
@ -20,6 +21,10 @@ public:
|
|||||||
{
|
{
|
||||||
return NumberGenerator::get_circle_numbers(count);
|
return NumberGenerator::get_circle_numbers(count);
|
||||||
}
|
}
|
||||||
|
else if (mode == 4)
|
||||||
|
{
|
||||||
|
return NumberGenerator::get_diagonal_numbers(count);
|
||||||
|
}
|
||||||
else throw "unspecified rng Mode"; // TODO: could handle in parse args
|
else throw "unspecified rng Mode"; // TODO: could handle in parse args
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -114,4 +119,19 @@ public:
|
|||||||
}
|
}
|
||||||
return points;
|
return points;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static std::list<Point> get_diagonal_numbers(const int valCount)
|
||||||
|
{
|
||||||
|
std::list<Point> points;
|
||||||
|
|
||||||
|
float x = 0;
|
||||||
|
float y = 0;
|
||||||
|
for (int i = 0; i < valCount; ++i)
|
||||||
|
{
|
||||||
|
x = OFFSET + static_cast <float> (rand()) / (static_cast <float> (RAND_MAX / (std::min(WIDTH, HEIGHT) - 2 * OFFSET)));
|
||||||
|
points.push_back(Point(x, HEIGHT - x)); // /
|
||||||
|
//points.push_back(Point(x, HEIGHT - x)); // \
|
||||||
|
}
|
||||||
|
return points;
|
||||||
|
}
|
||||||
};
|
};
|
Loading…
x
Reference in New Issue
Block a user