/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
/*
Copyright 2012 Blatech
Author: Joe Robinson
Changelog:
v0.1 - Initial release
v0.2 - Added Makefile
v0.3 - Added help
*/
#include
#include
#include
#include
#include
int main() {
std::string version = "0.2";
RandomLib::Random r; // Create r
r.Reseed(); // and give it a unique seed
char input[100];
fgets(input, 100, stdin);
std::string strInput = input;
std::string args[10] = { "" };
std::istringstream iss(strInput);
int min = INT_MIN;
int max = INT_MIN;
int count = 1;
for(int i = 0; i < 3; i++) {
iss >> args[i];
}
if (!args[0].compare("-v") || !args[0].compare("--version")) {
std::cout << "v" << version << std::endl;
return 0;
}
if (!args[0].compare("-h") || !args[0].compare("--help")) {
std::cout << "Usage: !random [minimum bound] [maximum bound] [count] | Examples: !random : returns a number from 1 to 10 | !random 20 : Returns a number from 1 to 20 | !random 10 20 : Returns a number from 10 to 20 | !random 1 10 3 : Returns 3 random numbers from 1 to 10" << std::endl;
return 0;
}
if (args[2].empty()) {
count = 1;
} else {
count = atoi(args[2].c_str());
}
if (args[1].empty()) {
max = atoi(args[0].c_str());
min = 1;
} else {
max = atoi(args[1].c_str());
min = atoi(args[0].c_str());
}
if (args[0].empty()) {
min = 1;
max = 10;
}
for (int i = 0; i < count; i++) {
std::cout << r.IntegerC(min, max) << " ";
}
std::cout << std::endl;
return 0;
}