<< 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.

Program code for the Scratch v2.0 version of the program named ForeverLoop01

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.

Image c. program code for the scratch v2.0 version of the program named foreverloop01.

Missing image.
Image C. Program code for the Scratch v2.0 version of the program named ForeverLoop01.

The last block in the script

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.

The next costume block

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.

The forever block

Code inside a forever block will run forever unless

  • some code inside the block causes it to stop running,
  • the user clicks the red stop button on the stage, or
  • the user shuts down the web page.

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.

An if block

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.

When the condition is true

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:

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Teaching beginners to code. OpenStax CNX. May 27, 2013 Download for free at http://cnx.org/content/col11498/1.20
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Teaching beginners to code' conversation and receive update notifications?

Ask