public void updatePowerups(){
		boolean powerupsUpdated = false;
		int index = 0;
		
		while(!powerupsUpdated)
		{
			powerupsUpdated = true;
			
			for(int i = index; i < powerups.size(); i++)
			{
				/*Move the powerup towards the floor if it has been released*/
				if(powerups.get(i).isReleased())
				{
					powerups.get(i).move(0, POWERUP_SPEED);
					
					/*Remove the powerup from play if it has moved under the floor.*/
					if(!powerups.get(i).insidePlayingField(pf_width, pf_height))
					{
						powerups.remove(i);
						index = i;
						powerupsUpdated = false;
						break;
					}
					
					/*Check if the paddle intersects the powerup and add it to the player if that is the case.*/
					if(player.getPaddle().checkForIntersection(powerups.get(i)))
					{
						if(!player.hasPowerup(powerups.get(i).getClass()) || powerups.get(i).getCanHaveMultiple())
						{
							player.addPowerup(powerups.get(i));
						}
						
						powerups.remove(i);
						index = i;
						powerupsUpdated = false;
						break;
					}
				}
				else//Check if the powerup should be released, which is when the brick the powerup is in has been eliminated. 
				{
					if(!powerups.get(i).isBrickAlive())
					{
						powerups.get(i).setReleased(true);
					}
				}
			}
		}
	}