random number generator helper class  
 More...
#include <rng.h>
 | 
| uint32_t  | _seed | 
|   | Seed value for random number generator // HACK this only public to make the core application update it if an invalid one is found. I really don't like it, but its the best I can do for now.  More...
  | 
|   | 
 | 
| std::mt19937  | _randomEngine | 
|   | 
| std::vector< uint32_t >  | _seedBlacklist = { 72304668, 2126917180, 3620160884 } | 
|   | c mersenne-twister engine for random number generator  More...
  | 
|   | 
| bool  | _printSeed | 
|   | c list of seeds know to not produce a viable level, instead puts generation into an endless loop  More...
  | 
|   | 
random number generator helper class 
 
◆ RNG()
      
        
          | skr::pcg::RNG::RNG  | 
          ( | 
          bool  | 
          printSeed = false | ) | 
           | 
        
      
 
constructor uses random seed 
- Parameters
 - 
  
    | printSeed | set true to print seed to cmd and log, otherweise false. Default: false  | 
  
   
 
 
◆ CheckViableSeed()
  
  
      
        
          | bool skr::pcg::RNG::CheckViableSeed  | 
          ( | 
          uint32_t  | 
          seed | ) | 
           | 
         
       
   | 
  
private   | 
  
 
check if a given seed is not on the blacklist this is easy solution/hack to prevent levels with overlapping rooms, etc. to be generated 
- Parameters
 - 
  
  
 
- Returns
 - true if seed is not on blacklist, otherwise false 
 
 
 
◆ GenerateViableSeed()
  
  
      
        
          | uint32_t skr::pcg::RNG::GenerateViableSeed  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
private   | 
  
 
Generates a new seed that is checked to be viable. 
- Returns
 - seed value that is not on blacklist 
 
 
 
◆ GetRandomDouble()
      
        
          | double skr::pcg::RNG::GetRandomDouble  | 
          ( | 
          const double  | 
          lower,  | 
        
        
           | 
           | 
          const double  | 
          upper  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
returns a random double from given range 
- Parameters
 - 
  
    | lower | lower bound  | 
    | upper | upper bound  | 
  
   
- Returns
 - random idouble 
 
 
 
◆ GetRandomFloat()
      
        
          | float skr::pcg::RNG::GetRandomFloat  | 
          ( | 
          const float  | 
          lower,  | 
        
        
           | 
           | 
          const float  | 
          upper  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
returns a random float from given range 
- Parameters
 - 
  
    | lower | lower bound  | 
    | upper | upper bound  | 
  
   
- Returns
 - random float 
 
 
 
◆ GetRandomInteger()
      
        
          | int skr::pcg::RNG::GetRandomInteger  | 
          ( | 
          const int  | 
          lower,  | 
        
        
           | 
           | 
          const int  | 
          upper  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
returns a random interger from given range 
- Parameters
 - 
  
    | lower | lower bound  | 
    | upper | upper bound  | 
  
   
- Returns
 - random integer 
 
 
 
◆ InitWithFixedSeed()
  
  
      
        
          | void skr::pcg::RNG::InitWithFixedSeed  | 
          ( | 
          uint32_t  | 
          seed | ) | 
           | 
         
       
   | 
  
private   | 
  
 
Initializes random number generator with given fixed seed. 
- Parameters
 - 
  
  
 
 
 
◆ InitWithRandomSeed()
  
  
      
        
          | void skr::pcg::RNG::InitWithRandomSeed  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
private   | 
  
 
c true to print seed to cmd and log, otherwise false 
Initializes random number generator with random seed 
 
 
◆ SetPrintSeed()
      
        
          | void skr::pcg::RNG::SetPrintSeed  | 
          ( | 
          bool  | 
          printSeed | ) | 
           | 
        
      
 
Set printSeed Parameter. 
- Parameters
 - 
  
    | printSeed | true to print seed to cmd and log, otherwise false  | 
  
   
 
 
◆ SetRandomSeed()
      
        
          | void skr::pcg::RNG::SetRandomSeed  | 
          ( | 
           | ) | 
           | 
        
      
 
Initializes random number generator with random seed. 
 
 
◆ SetSeed()
      
        
          | void skr::pcg::RNG::SetSeed  | 
          ( | 
          uint32_t  | 
          seed | ) | 
           | 
        
      
 
Initializes random number generator with given fixed seed. 
- Parameters
 - 
  
  
 
 
 
◆ _printSeed
  
  
      
        
          | bool skr::pcg::RNG::_printSeed | 
         
       
   | 
  
private   | 
  
 
c list of seeds know to not produce a viable level, instead puts generation into an endless loop 
 
 
◆ _randomEngine
  
  
      
        
          | std::mt19937 skr::pcg::RNG::_randomEngine | 
         
       
   | 
  
private   | 
  
 
 
◆ _seed
      
        
          | uint32_t skr::pcg::RNG::_seed | 
        
      
 
Seed value for random number generator // HACK this only public to make the core application update it if an invalid one is found. I really don't like it, but its the best I can do for now. 
 
 
◆ _seedBlacklist
  
  
      
        
          | std::vector<uint32_t> skr::pcg::RNG::_seedBlacklist = { 72304668, 2126917180, 3620160884 } | 
         
       
   | 
  
private   | 
  
 
c mersenne-twister engine for random number generator 
 
 
The documentation for this class was generated from the following files: