This block has a slight delay, so for optimum speed of execution, Single Frame block stacks should be used.
As this block loops pieces of code, it is widely used for saving space and time. Some common uses are:
- Repeating code — using the Repeat () block (and the Repeat Until () block) can save a lot of scripting.
repeat (10) change [variable v] by (1) next costume if <touching [Wall v]?> then erase all broadcast [Reload v] else stamp end
- Animation — rather than coding each costume change and delay individually, the Repeat () block (with the Next Costume block) can be used. This can reduce unnecessary scripting.
repeat (8) wait (0.05) secs next costume
- Continuous checks — a sprite can continuously move and sense, for example.
repeat (20) change y by (3) if <touching [edge v]?> then change [color v] effect by (75)
- Putting one repeat () block inside another is called "nesting". The total repetitions will be the two repeat () block inputs' product. In this case, the nested loops draw 10 times 10, or 100 dots.
set pen size to (2) go to x:(-100) y:(100) repeat (10) repeat (10) pen down pen up change x by (20) end set x to (-100) change y by (-20) end
- Main article: List of Block Workarounds
This block can be replicated with the following code:
set [counter v] to (0) set [number of times v] to (0) // this is the number of times to repeat repeat until <(counter) = (number of times)> . . . change [counter v] by (1)