Example #1
0
void Scenario::setNew(){
    reset();
    
    
    // ensure the seed is populated before anything else is set
    seed.populate(history);
    
    // set the environment to new seed values
    environment = new Environment(*getSurface(), *getMedium());
    
    // TODO: move mesh into setSurface method for Sprites
    spriteSeed = SpriteSeed(seed, environment->getSurfaceMesh());
    
    // set light to new seed values
    light = getLight();
    
    // set surface first, then set the player to new seed values
    player.setSurface(environment->getSurfaceMesh());
    setPlayer(seed);
    
    sprites.clear();
    setSprites();
//    sound.loadMusic();
//    sound.playMusic();

}
Example #2
0
double findMedianSortedArrays(int *nums1, int nums1Size, int *nums2, int nums2Size)
{
	int aStart=0;
	int bStart=0;
	int aEnd=nums1Size-1;
	int bEnd=nums2Size-1;
	int aIndex=0,bIndex=0;
	while( (aEnd-aStart)>1 || (bEnd-bStart)>1 )
	{
		double aMid=getMedium(nums1,aStart,aEnd);
		double bMid=getMedium(nums2,bStart,bEnd);
		printf("aMid:%lf,bLen:%lf\n",aMid,bMid);
		if(aMid==bMid)
		{
			return aMid;
		}
		else if(aMid < bMid)
		{
			aIndex = getMediumIndex(aStart,aEnd);
			bIndex = getMediumIndex(bStart,bEnd);
			if( (aEnd-aStart)>1 )
				aStart=aIndex;
			if( (bEnd-bStart)>1 )
				bEnd=bIndex;
		}
		else
		{
			aIndex = getMediumIndex(aStart,aEnd);
			bIndex = getMediumIndex(bStart,bEnd);
			if( (aEnd-aStart)>1 )
				aEnd=aIndex;
			if( (bEnd-bStart)>1 )
				bStart=bIndex;
		}
	}
	printf("here\n");
	double aMid=(nums1[aStart]+nums1[aEnd])/2.0;
	double bMid=(nums2[bStart]+nums2[bEnd])/2.0;
	
	return (aMid+bMid)/2.0;
}