Exemple #1
0
void PowerUp::respawn()
{
	QVector2D random = RandomNumber::inUnitCircle();
	QVector3D pos( mPosition.x() + random.x() * mRadius, 0, mPosition.y() + random.y() * mRadius );
	pos.setY( mLandscape->terrain()->getHeight( pos ) + 1.5 );

	setPosition( pos );
	mRespawnCoolDown = RandomNumber::minMax( 1.0f, 3.0f );
	mRespawning = true;

	if( mRandom )
	{
		mPowerType = PowerType(RandomNumber::minMax(0, 5));
	}
}
Exemple #2
0
double MOCPumpConfig::GetPower(double dX)
{
	double dNewPower = 0;
	double dPress = GetPress(dX);
	double dMass = dX;
	if(0 == FlowType())//体积流量
		dX = MOCFluid::TranMassToQ(dX);
	if(dX > MaxFlow())
		dX =  MaxFlow();
	if(dX < 0)
		dX = 0;
	dNewPower = m_CurvePower.GetY(m_PowerData,dX);
	if(fabs(dNewPower)<1E-6||dNewPower<0)
		return 0;
	if(0==PowerType())
	{
		double dPe = CalcPe(dMass,dPress);
		dNewPower = dPe*100/dNewPower;
	}
	return dNewPower;
}