<< Chapter < Page | Chapter >> Page > |
I am showing you the code in Image B for one purpose and one purpose only. The orange block with the label "forever if" no longer exists in Scratch v2.0.
Older programs that were written in v1.4 and published on the Scratch website were automatically converted to the Scratch v2.0 version, asshown in Image C when the website made the transition from v1.4 to v2.0.
The code for the Scratch v2.0 version of this program is shown in Image C . Note that this version replaces the forever if block with a forever block and embeds an if block in the forever block.
Except for the forever and next costume blocks, none of the blocks in Image C are new to this module.
The bottom of the forever block is smooth. Nothing can be connected to the bottom of the block. Therefore, it must be the last block in the script that contains it.
An earlier module used a switch to costume block to cause the existing image of a sprite to be replaced by a different image. That blockrequires the programmer to specify the new costume by name each time a change in costume is needed.
The next costume block used in Image C is easier to use from a programming standpoint. As explained in the previous module, there is a list ofone or more costumes associated with each sprite. The next costume block causes the sprite to switch from the current costume to the next costume in the list. If the current costume is the last costume in the list, the blockcauses the sprite to switch back up to the first costume in the list.
Code inside a forever block will run forever unless
This is commonly referred to as an infinite loop .
An infinite loop is not always a bad thing. For example, many games run inside an infinite loop and that is also the case with this program. However,even though the program is running (after you click the green flag) , you don't see anything happening unless you press the space bar. Pressing thespace bar causes the cat to run around in a small circle.
Be careful and don't leave this program running in your browser unless that is your plan. You may find that while it is running, everything elseon your computer runs much more slowly than normal.
As you can see in Image C , an if block is embedded inside the forever block. During each iteration of the loop, a test is made to determine if the space key is pressed. Each time it performs the test and findsthe condition to be true, the code inside the if block is executed. If the condition is false, the code inside the if block is not executed.
The condition is true if the space bar is pressed when the test is made. When the condition is found to be true, the sprite:
Notification Switch
Would you like to follow the 'Teaching beginners to code' conversation and receive update notifications?