Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/11/2014, 06:25
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: relojes en c++

Si usas el estándar C++11, puedes hacer uso de la clase "chrono"

Código C++:
Ver original
  1. system_clock::time_point now = std::chrono::system_clock::now( );
  2. time_t now_c = std::chrono::system_clock::to_time_t( now );

time_t es un alias. Almacena el número de segundos desde el 1 de Enero de 1970. Con las dos líneas anteriores recuperas la fecha actual del sistema.

Ahora habría que calcular el momento en el que finaliza el powerup. Para sumar 8 segundo sería algo como:

Código C++:
Ver original
  1. time_t powerupEnd = now_c + 8;

Y después te queda comprobar si el powerup ha caducado o no:

Código C++:
Ver original
  1. system_clock::time_point now = std::chrono::system_clock::now( );
  2. time_t now_c = std::chrono::system_clock::to_time_t( now );
  3.  
  4. if ( now_c >= powerupEnd )
  5. {
  6.   // Powerup caducado
  7. }

Posiblemente el código quede más bonito si creas una función que te devuelva, directamente el time_t de la hora actual, para no tener que ir duplicando código.