38 lines
1.2 KiB
C++
38 lines
1.2 KiB
C++
#ifndef _CRANDOM_HPP_
|
|
#define _CRANDOM_HPP_
|
|
|
|
/*** SDL Header Files ***/
|
|
#include <SDL.h>
|
|
|
|
/*** DLL Header File ***/
|
|
#include "dllExport.h"
|
|
|
|
namespace MathEngine {
|
|
/* Singleton */
|
|
class EXPORT_FROM_MYDLL cRandom
|
|
{
|
|
private:
|
|
cRandom();
|
|
~cRandom();
|
|
|
|
public:
|
|
/// Functions
|
|
static cRandom& Inst();
|
|
static void Delete();
|
|
|
|
const bool Setup() const;
|
|
|
|
/* Gives you a Random Integer less then or equal to max and more then or equal to min */
|
|
const unsigned long int Rand( const unsigned long int max, const unsigned long int min = 0 ) const;
|
|
/* Gives you a Random float less then or equal to max and more then or equal to min */
|
|
const float Rand( const float max, const float min = 0.0f ) const;
|
|
/* Gives you a Random double less then or equal to max and more then or equal to min */
|
|
const double Rand(const double max, const double min = 0.0f) const;
|
|
/* Gives you a Random long double less then or equal to max and more then or equal to min */
|
|
const long double Rand(const long double max, const long double min = 0.0f) const;
|
|
private:
|
|
/// Variables
|
|
static cRandom* sp_inst;/// = nullptr
|
|
};/// END CLASS DEFINITION cRandom
|
|
}/// END NAMESPACE DEFINITION MathEngine
|
|
#endif/// END IFNDEF _CRANDOM_HPP_
|