Helping programming a status bars

Discussion in 'Mac Programming' started by Branskins, Jul 27, 2009.

  1. macrumors 65816

    Dec 8, 2008
    I am learning C++ at the same as I am programming a simple game. I am stuck on programming the health bar. I want it to decay over time, only to be increased by using a heal pot.

    I thought it would be simple, which I still think it probably is, but what is the best way to go about doing this?
  2. macrumors regular

    Jul 6, 2009
    Is this a command line based game? You could use the clock command to figure out elapsed time to subtract from the health and simply add to the health when a "pot" is used.

    #include <time.h>
    clock_t start, end;
    double elapsed;
    start = clock();
    /* Do stuff */
    end = clock();
    elapsed = ((double) (end - start)) / CLOCKS_PER_SEC;
    So you can subtract health something like every 30 seconds by putting the above code into a while loop and when elapsed = 30 then subtract from health.
  3. thread starter macrumors 65816

    Dec 8, 2008
    Okay thank you! Now let's say your health decays every 8 hours and you don't login for 1 day. How would it record this difference? Basically, what is the best way to save logout time and then compare it to login time?

    Sorry for these trivial questions!
  4. macrumors regular

    Jul 6, 2009
    Check out this page.

    That may or may not work. It depends on if you're programming for windows or unix because there is no default C++ time function. Time is a system library, so POSIX and windows each have their own. You can easily find what you're looking for with a quick google search.

    But if the above link does work...You will get the number of seconds since the epoch when calling time. So save this number upon the user exiting. Once they load up again call time again and subtract the saved time from this new time to get the difference and then calculate number of hours and subtract health accordingly.
  5. thread starter macrumors 65816

    Dec 8, 2008

Share This Page