@Override
    public void ejecuta() {

	// si la hora actual, esta en nuestro mapa de vientos, asignaremos el
	// viento a las bicicletas*/

	for (Ciclista c : lista_de_ciclistas) {

	    Iterator<Entry<Integer, Integer>> it = arbol.entrySet().iterator();
	    Iterator<Entry<Integer, Integer>> itaux = arbol.entrySet()
		    .iterator();
	    if (it.hasNext()) {
		itaux.next();
	    }
	    while (itaux.hasNext()) {

		Entry<Integer, Integer> elemento = it.next();
		double espacio_recorrido = c.getBici().getEspacioRecorrido();

		if (it.hasNext()) {

		    Entry<Integer, Integer> elemento2 = itaux.next();

		    if (espacio_recorrido >= elemento.getKey()
			    && espacio_recorrido < elemento2.getKey()) {

			double aceleracion = Constantes.FUERZA_G;
			double porcentaje = Double.valueOf(elemento.getValue()) / (Double.valueOf(elemento2.getKey()) - Double.valueOf(elemento.getKey()));

			
			c.getBici().acelerarbici(aceleracion * porcentaje);
		    }

		}
		// este else sirva para la ultima parte del trazado ya que el
		// iterador avanzaria a null y fallaria la aplicacion
		else {
		    // comprobamos en que metro nos encontramos del recorrido,
		    // si hemos pasado el punto donde empienza la pendiente,
		    // esta nos empezara a afectar positiva o negativamente
		    if (espacio_recorrido >= elemento.getKey()) {
			// si la pendiente es positiva, nos afectara
			// negativamente
			double aceleracion = Constantes.FUERZA_G;
			double porcentaje = Double.valueOf(elemento.getValue()) /  Double.valueOf(elemento.getKey());

			
			c.getBici().acelerarbici(aceleracion * porcentaje);
		    }

		}

	    }

	}

    }