⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 randomnumbers.h

📁 游戏开发数据结构Data Structures for Game Programmers
💻 H
字号:
// ============================================================================
// Data Structures For Game Programmers
// Ron Penton
// RandomNumbers.h
// This file holds the random number generators
// ============================================================================
#ifndef RANDOMNUMBERS_H
#define RANDOMNUMBERS_H

#include <stdlib.h>




// ----------------------------------------------------------------
//  Name:           RandomPercent
//  Description:    returns a random floating number from 0.0 to 
//                  1.0, inclusive.
//  Arguments:      None
//  Return Value:   a random float from 0.0 to 1.0.
// ----------------------------------------------------------------
float RandomPercent()
{
    return (float)rand() / (float)RAND_MAX;
}


// ----------------------------------------------------------------
//  Name:           RandomRangeModulo
//  Description:    Returns a random number with the given range
//                  using the inferior modulo generator.
//  Arguments:      p_min: the bottom number
//                  p_max: the top number
//  Return Value:   a random number between p_min and p_max, 
//                  inclusive
// ----------------------------------------------------------------
int RandomRangeModulo( int p_min, int p_max )
{
    int difference = (p_max - p_min) + 1;
    return (rand() % difference) + p_min;
}


// ----------------------------------------------------------------
//  Name:           RandomRange
//  Description:    Returns a random number with the given range
//                  using the division generator.
//  Arguments:      p_min: the bottom number
//                  p_max: the top number
//  Return Value:   a random number between p_min and p_max, 
//                  inclusive
// ----------------------------------------------------------------
int RandomRange( int p_min, int p_max )
{
    int difference = (p_max - p_min) + 1;
    return ( (difference * rand()) / (RAND_MAX + 1) )+ p_min;
}


// ----------------------------------------------------------------
//  Name:           RandomRangeF
//  Description:    Returns a random floating number with the given 
//                  range
//  Arguments:      p_min: the bottom number
//                  p_max: the top number
//  Return Value:   a random number between p_min and p_max, 
//                  inclusive
// ----------------------------------------------------------------
float RandomRangeF( float p_min, float p_max )
{
    float difference = (p_max - p_min);
    return (RandomPercent() * difference) + p_min;
}



#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -