Adding time to timer

Hey there folks,

For a university project we're working on an interactive game based on Arduino and we've run into an issue with the timer. We've got a 3-digit 7-segment display that can count up (seconds only, does not jump to 1:00 at 60 - this could use some improvement as well...).

Basically what we want to do is trigger the timer to add 5 seconds as a penalty whenever a force sensor passes a certain threshold.
The problem is we cannot get it to work simultaneously with the other Arduino-triggered events, since it keeps looping.

We tried creating a state transition diagram and Googling for hours but can't seem to get it working.

Any ideas or help from the pros?

Cheers,
Leo

You will probably need to post your source code.
My first impression on how to handle this is to have an event that triggers every second (or 250ms or 100ms) or some other known, relatively slow for uC timer (though it can be faster than human perception). Everytime that executes, you increment the timer value. However, what you do is store the timer as an integer on the uC, and then access this value separately for the display module (this might help with your timer display issue as well). So what you then do, is whenever your input gets triggered (Interrupt, polling, whatever), you set a flag (just some user created variable), so that the next time you increment the timer you check the flag, and if it is set, you increment the timer value by 5 and reset the flag.

[Edit for clarity]

Have a look at the blink without delay example in the IDE for clues.
And post code.