<< Chapter < Page Chapter >> Page >

The driver script

The code that calls the custom block is shown in the top script in Image D . (I will refer to this as the driver script.) When the green flag is clicked, the custom block named test is called by the driver, passing a numeric value of 10 as a parameter. When the test block terminates, control is returned to the driver. The driver script causes the cat sprite to display the value stored inthe variable named var for 20 seconds. Then the program terminates.

The program output

The program output showing the cat on the stage is shown in Image E .

Image e. output from customblocktest01.

Missing image.
Image E. Output from CustomBlockTest01.

A numeric value of 10 is passed to the test block by the driver. Code in the test block multiplies that value by a factor of 2 storing the product value of 20 in the variable named var . Code in the driver then causes that value to be displayed by the cat sprite onthe stage. Thus, the program displays the value 20 as shown in Image E .

CustomBlockTest02

This program illustrates some of the benefits of custom blocks. The two scripts that comprise the program are shown in Image F .

Image f. program code for customblocktest02.

Missing image.
Image F. Program code for CustomBlockTest02.

The top script in Image F is the driver script. This code calls the custom block (shown in the bottom script) three times.

The custom block

The purpose of the custom block is to cause the cat to take a walk with the duration of the walk and the initial direction of the walk determined by a pairof incoming parameters.

As you will see later, the cat is facing to the right each time the custom block named walk is called. The incoming parameter named angle is used to cause the cat to turn and face in a particular direction before beginning the walk. The same parameter is used later in thewalk to cause the cat to make a much smaller turn in the same direction at the end of each segment of the walk. Thus, the cat tends to walk in a somewhatcircular path unless it collides with the edge of the stage, in which case it bounces off the edge.

The incoming parameter named numberLoops is used to determine the number of segments in the walk or the duration of the walk.

The last two blocks in the custom block cause the cat to return to the center of the stage and face to the right.

By now you shouldn't need an explanation for the remaining code in the custom block.

The driver script

The driver script initially causes the cat to move to the center of the screen and face to the right.

Then it executes three pairs of blocks in sequence. The first block in each pair causes the cat to say "Morning stroll", "Noon stroll", or "Eveningstroll".

The second block in each pair is a call to the custom block named walk . Each time the walk block is called, it is passed random values for numberLoops and angle . Therefore, the duration and direction of each walk will be different each time you run theprogram.

The program output

Because of the dynamic nature of the program, there is no point in me presenting a static snapshot of the output. Instead, I will simply suggest thatyou run the program online at CustomBlockTest02 and observe the output.

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