The EVERY
allows to execute a procedure at specified intervals of time.
It is especially useful for creating animations, handling real-time events,
and simulating dynamic behavior in your programs. You can give the
value
as number of ticks to wait for triggering the call, and
timer
to select a specific timer (up to 8 timers are present).
It allows you to create smooth animations by moving objects on the
screen at regular intervals, and it is essential for managing real-time
events, such as character movement, object collisions, and keyboard input management.
It can be used also to simulate physical or biological phenomena that evolve
over time., or to create dynamic visual effects, such as sparks, explosions,
or screen transitions.
The speed at which EVERY
commands execute depends on the frame
rate of your computer, and from the parameter value
given. A
higher frame rate means that actions will be executed more frequently,
while an higher value
means that actions will be executed less frequently.
Note that the procedure execution time should be less than the interval time,
or the main program timings will be affected!
There are 8 delay timers from 0 to 7 which can be specified with timer
.
If omitted timer
defaults to 0. In the case of parallel task has 0 the
highest and 8 the lowest priority.
With EVERY OFF
and EVERY ON
you can disable or enable the timed
calls. Procedures run as long as the main loop / program runs, even the
main programm is paused. It is important to know or realise that
low-priority-procedures which occurs simultanously to higher-priority-procedures
are not lost. Their task remains or handled again after finishing the higher-prio interrupt.
Important: the meaning of this command is not altered by OPTION CALL
pragma,
so this will always work like a CALL
command and never as an unconditional
jump to a label (GOTO
).
EVERY value[,timer] TICKS CALL identifier
Join BASIC 10Liner Contest with ugBASIC!
An interesting competition is held at the beginning of each year: the
BASIC 10Liner Contest.
It is possible to use ugBASIC to participate in the next
"BASIC10Liner" competition, in the following categories:
EVERY...CALL ↔ EvCa
If you have found a problem with this keyword, if you think there is a bug or, more
simply, you would like it to be improved, open an issue for this example on GitHub.
Thank you!
open an issue
BACK TO KEYWORDS