Translate

viernes, 23 de septiembre de 2011

Desafio Doñana

#include  racing.h;

int void main ()
{
 do
   race.mode.activate;

 while race.mode=ON

return 0;
}


Este pequeño trozo de código podría resumir mi carrera de Doñana, basícamente y para los que no controleis el tema de la programación sería de la siguiente manera:

Conecta el chip de carreras.
¿Los has conectado?, no, pues vuelve al intentarlo

Problema:..... todo lo que conseguía era que el sistema devolviera siempre el mismo mensaje:

Can´t engage Racing mode. System failure.
Can´t engage Racing mode. System failure.
Can´t engage Racing mode. System failure.
Can´t engage Racing mode. System failure.
Can´t engage Racing mode. System failure.

Y así durante toooooda la carrera. Primero en el sector de la bici: sector rapidísimo ya que salvo la cuesta de Arcos todo lo demás era rodar y rodar. Busque entre la colección de includes, API´s y todo lo que tuviera por ahí y no acababa de encontrar algun metodo relacionado con rodar rápido. Todo lo que encontraba eran métodos del tipo wind.navega y bike.subirpuerto. Que curioso, un par de semanas en Tarifa y todos los includes relacionados con el windsurf estaban actualizados y mejorados.

Volviendo a la carrera me dediqué a sobrevivir con la limitación de código que tenía. A eso le añadimos un par de bugs bastante desagradables que a modo de pinchazos me hicieron perder unos cuantos minutos depurando el código de mis muy dejadas y destrozadas cubiertas.
Menos mal que a esas alturas me encontré con el Sr Lirio, avezado programador que me permitió esbozar unas cuantas líneas de código que me permitieran llegar a la T1 de una manera digna.



Peeeeero, hay viene lo peor de esta carrera, había que cruzar la desembocadura del rio Guadalquivir con una intensa corriente que hizo empezar a temblar todos los cimientos de mi reducido software.  Parece ser que en las dos semanas de navegación y por falta de espacio debí eliminar todo el software relacionado con nadar (salvo las funciones básicas: swim.flota y swim.noteahoges), así que me tiro al rio, nunca mejor dicho, y a nadar... bueno, mejor dicho a flotar... eso si arrastrado por la corriente.
Problema, solo tengo dos funciones para el objeto SWIM, tengo que construir rápido el método nada para el objeto SWIM, podría ser algo así:

void swim.nada ()
{
 while swim.noteahoges AND NOT end OF Swim
   {
     while not calambres
     {
       muevebrazo (derecho);
       muevebrazo (izquierdo);
       muevepiernas;
     }
   }

}

Que en cristiano viene a significar que mientras no te ahoges y no hayas llegado a la otra orilla muevas las piernas y los brazos, todo ello sin que te den calambres.

Y ahí empezó el pitoste. Varios calambres justo al tocar tierra que me hacen quedarme clavado como un palo por un par de minutos. En cuanto se me pasan miro a la llegada de la T2 y he salido a 500m por efecto de la corriente, ya que con las prisas olvidé añadir esa variable al método, así que le hacemos una pequeña llamada al metodo corre del objeto RUN y empezamos a correr.....¿a correr?.
Este método tiene trozos de software con llamadas a funciones que no he usado en tres semanas, así que intento correr entre amagos de calambres hasta llegar a la T2.

Una vez allí nos ponemos las zapatillas y a empezamos la carrera: 30km de nada, ¡y por arena!. Hay que reconocer que esta parte del software no estaba tan mal como pensaba, así que tiro de librería, hago una llamada a la ayuda para ver de que métodos dispongo en el objeto RUN. Mientras pasan los dos primeros km en un entorno precioso de arena y mar, consigo localizar tres métodos que usé para correr:

  • correPorArenaDura 
  • correPorDebajoDe (este método ya lo usé en Niza)
  • comeEnCadaAvituallamiento (también lo usé en Niza)
De esta manera improvisé un trozo de código que me permitiría llegar a meta sin más contratiempo:

void carreradonana ()
{
 run.correPorDebajoDe(5:00);
 run.comeEnCadaAvituallamiento.Active=true;
 while (not EOR)    // EOR= End Of Race parecido a EOF, pero referente a carreras, no a ficheros
 {
  run.correPorArenaDura;
 }
}

O lo que es lo mismo intenta correr por debajo de 5 minutos el km, sin saltarte un avituallamiento y evitando la arena blanda.

Adicionalmente el trozo de código inicial consiguió conectar el modo de carreras devolviendo un:

Race Mode Engaged !!! 

Y así con la CPU entretenida contando kilómetros y tiempos y con el modo carreras por fín activado me planté en Matalascañas si pena ni gloria en unas 8horas y 50minutos de carrrera, pero eso sí con todo el software actualizado, depurado y listo para competir en el Titán.

Agur, nos vemos...

blog.entrada.publish ();






2 comentarios:

Lofer dijo...

Muy buena entrada utilizando lenguaje forlallo

Unknown dijo...

Buenisimo!! Me he partido el culo.
Uge, ayer si le dabas bien al método Bike.Escala y con los parámetros correctos:D