예제 #1
0
파일: viewer.cpp 프로젝트: poppeman/Pictus
	void Viewer::ImageRandom() {

		size_t imageCount = m_cacher.ImageCount();
		if (imageCount <= 1) return;

		std::uniform_int_distribution<size_t> posDist(0, imageCount - 2);

		size_t pos = posDist(m_random);

		if (pos >= m_cacher.CurrentImageIndex()) pos++;

		ActiveImage(m_cacher.GotoImage(pos));
	}
예제 #2
0
파일: food.cpp 프로젝트: 7flash/Snake
void FoodManager::createRandomFood(){
	std::uniform_int_distribution<std::mt19937::result_type> fDist(1, 2);

	FoodType foodType;
	switch(fDist(m_rng)){
		case 1:
			foodType = FoodType::Normal;
			break;
		case 2:
			foodType = FoodType::Bad;
			break;
		default:
			throw std::out_of_range("Food type out of range");
	}

	std::uniform_int_distribution<std::mt19937::result_type> posDist(m_app->getSize().x, m_app->getSize().y);
}