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

📄 randomizer.h

📁 奇迹世界公用文件源代码,研究网络游戏的朋友可以研究下
💻 H
字号:
#pragma once

#include <vector>
#include <algorithm>

typedef std::vector<int>		RANDOM_VEC;
typedef RANDOM_VEC::iterator	RANDOM_VEC_ITER;

// 沥痹拳等 抄荐 眠免扁
// 盖梅俊 Create 茄锅 窍绊 Rand 窃荐 荤侩窍搁 凳!
class Randomizer
{
public:
	Randomizer() { m_iRandMax = 0; m_iGetCount = 0; }
	~Randomizer() { Destroy; }

	void Create( int iRandMax )
	{
		m_iRandMax = iRandMax;
		for( int i = 1; i <= iRandMax; ++i )
		{
			m_vecRandom.push_back( i );
		}
		RandomShuffule();
	}

	void Destroy()
	{
		m_vecRandom.clear();
	}

	// 1 ~ RandMax 荤捞狼 烙狼狼 荐
	inline int Rand()
	{
		int retVal = m_vecRandom[m_iGetCount];
		if( ++m_iGetCount >= m_iRandMax ) {	m_iGetCount = 0; RandomShuffule(); }
		return retVal;
	}

	// min ~ max 荤捞狼 烙狼狼 荐
	inline int Rand( int min, int max )
	{
		return ( Rand() % ( max + 1 - min ) ) + min;
	}

private:
	inline void RandomShuffule()
	{
		random_shuffle( m_vecRandom.begin(), m_vecRandom.end() );
	}

	RANDOM_VEC		m_vecRandom;
	int				m_iRandMax;
	int				m_iGetCount;
};

⌨️ 快捷键说明

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