All pastes #929161 Raw Edit

Miscellany

public cpp v1 · immutable
·published 2008-03-05 16:00 UTC
rendered paste body
/* SDLRogue.cpp */#include <cstdlib>#include <iostream>#include "rrclass.h"using namespace std;int main(int argc, char ** argv){Timer fps;return 0;}/* rrclass.h */// Class definitions// -- Part of SDLRogueClass Timer {    private:    Timer();    void start();    void stop();    void pause();    void unpause();        public:    int get_ticks();    bool is_started();    bool is_paused();};/* rrclass.cpp */#include "rrclass.h"Timer::Timer(){    //Initialize the variables    startTicks = 0;    pausedTicks = 0;    paused = false;    started = false;    }void Timer::start(){    //Start the timer    started = true;        //Unpause the timer    paused = false;        //Get the current clock time    startTicks = SDL_GetTicks();    }void Timer::stop(){    //Stop the timer    started = false;        //Unpause the timer    paused = false;    }void Timer::pause(){    //If the timer is running and isn't already paused    if( ( started == true ) && ( paused == false ) )    {        //Pause the timer        paused = true;            //Calculate the paused ticks        pausedTicks = SDL_GetTicks() - startTicks;    }}void Timer::unpause(){    //If the timer is paused    if( paused == true )    {        //Unpause the timer        paused = false;            //Reset the starting ticks        startTicks = SDL_GetTicks() - pausedTicks;                //Reset the paused ticks        pausedTicks = 0;    }}int Timer::get_ticks(){    //If the timer is running    if( started == true )    {        //If the timer is paused        if( paused == true )        {            //Return the number of ticks when the timer was paused            return pausedTicks;        }        else        {            //Return the current time minus the start time            return SDL_GetTicks() - startTicks;        }        }        //If the timer isn't running    return 0;    }bool Timer::is_started(){    return started;    }bool Timer::is_paused(){    return paused;    }