Jump to content
Sign in to follow this  

Add to a timer?

Recommended Posts


Well, I'm making a game that involves being able to add a little bit of time(or off in my case) to a timer, but how do I do this?

[center]"When you look at old, classic games like Snake, you often put it off because it's such a simple game, but it's only when you actually try and create your own unique game from scratch, do you finally appreciate those games."[/center][center]Don't ask for answers if you haven't TRIED yet![/center][center]Most answers can be answered in the help file! Use it![/center]

Share this post

Link to post
Share on other sites

Old Edit destroys the AutoIt Tags

Example in the help file

; *** Demo to show a timer window
#include <GUIConstants.au3>
#include <Date.au3>
Global $Secs, $Mins, $Hour, $Time
;Create GUI
GUICreate("Timer",120, 50)
GUICtrlCreateLabel("00:00:00", 10,10)
;Start timer
$timer = TimerInit()
AdlibEnable("Timer", 50)
While 1
 ;FileWriteLine("debug.log",@min & ":" & @sec & " ==> before")
  $msg = GUIGetMsg()
 ;FileWriteLine("debug.log",@min & ":" & @sec & " ==> after")
     Case $msg = $GUI_EVENT_CLOSE
Func Timer()
  _TicksToTime(Int(TimerDiff($timer)), $Hour, $Mins, $Secs )
  Local $sTime = $Time  ; save current time to be able to test and avoid flicker..
  $Time = StringFormat("%02i:%02i:%02i", $Hour, $Mins, $Secs)
  If $sTime <> $Time Then ControlSetText("Timer", "", "Static1", $Time)
EndFunc  ;==>Timer

Share this post

Link to post
Share on other sites

First, I need to know how long I want the timer to countdown.

$timeMinimum = 60000 // This would be one minute, or 60 seconds--60000 in milliseconds

To start the timer, I would need one more variable.

$timeStart = TimerInit()

Now you need to check the time. I'm assuming you have some sort of loop. If not just make a do-until loop. Here is the algorithm to check for time:

If TimerDiff($timeStart) <= $timeMinimum Then
     // do something

You'd put whatever code you want to execute when the timer runs out in the "// do something" part of the algorithm.

Now, to add time to the timer, all you need to do is add it to $timeMinimum.

$timeMinimum = $timeMinimum + 10000 // This adds 10 seconds, which is 10000 miliseconds.

Finally, you'll probably want to have some way to know how much time is left, or to display the time.

$timeLeft = $timeMinimum - TimerDiff($timeStart)

I'm guessing you'll know how to display this number. It will be in milliseconds. You can use Round($timeLeft,-3) to convert it into seconds.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  


Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.