Parallelism

In most Scratch creations a certain level of parallelism is required. But what means parallelism? Parallelism is the possibility that several things occur simultaneously. For example, two characters perform an action while a character or do several things at once.

If you get 0 points...

The most basic and most obvious way to achieve parallelism is to have several programs that start with 'When green flag is clicked':

                    when green flag clicked
                

Thus, when the user clicking on the green flag, all programs that start with this block would begin to run simultaneously, or in parallel, as can also be said. You could have several programs that start with this block in the same character, if you want it to do several things at once, or in programs of different characters, if you want everyone to undertake an action at beginning of execution.

If you get 1 point...

Another way to achieve parallelism in your program is doing several things occur when the user presses a key or clicks on an object. Consider a couple of examples:

                        when [a v] key pressed
                        say [A] for (2) secs
                    
                        when [a v] key pressed
                        say [A] for (2) secs
                    
                        when this sprite clicked
                        forever
                        move (10) steps
                        if on edge, bounce
                        end
                        when this sprite clicked
                        forever
                        if <touching [the mouse pointer v]? > then
                        turn cw (30) degrees
                        end
                    

How these blocks works? In the first example, we see two different characters that, when a key is pressed, perform a certain action. Therefore, when the user press the a key, in this case, both the cat and the child run at the same time 'say A for 2 seconds' In the second example we see that a character has two programs that begin with 'when clicking this object'. Therefore, when the user clicks on this character, both programs will begin to run simultaneously, in parallel.

If you get 2 points...

There are several events more that can achieve parallelism:

                    when backdrop switches to [backdrop1 v]
                    when I receive [message1 v]
                    when [loudness v] > (10)
                    when [video motion v] > (2)
                    when [timer v] > (45)
                

As you see, you could create several programs that begin to run when changing the background to a given scenario, or to receive a particular message, or when the room volume exceeds a certain threshold, when the video motion is greater than a number pixel concrete or when the timer has exceeded the value you want. Therefore, there are many possibilities to make things happen in your programs simultaneously. Do you dare to investigate how works?