
P A R T I I I
P R O G R A M M I N G W I T H T H E R A S P B E R R Y P I
168
mark, and choose Sprite1 (the cat sprite) from the list. This block will now be activated when
the two sprites collide.
TIP
You can name a sprite by clicking on the box next to its image in the Scripts pane and typing
in a name. Giving the sprites sensible names—such as
Cat
,
CheesyPuffs
, and so forth—
makes it significantly easier to track what’s going on in the program.
Look at the shape of the
touching Sprite1?
block. As you can see, it has no jigsaw-like
connectors on the top or the bottom, and it’s shaped like a diamond—the same shape used
for a decision point in a flowchart. That’s no accident: the majority of the Sensing blocks
need to be embedded in a Control block in order to operate.
Switch the Blocks palette to Control mode, and look for the
if
block—it’s shaped like a
squished and bumpy letter C. Note that the
if
block has a diamond-shaped indentation—
the same shape as the
touching Sprite1?
block. Drag the
if
block onto the Scripts pane,
and then drag the
touching Sprite1?
block onto its diamond-shaped indentation. The
result is a two-coloured block that now reads
if touching Sprite1?
.
This represents an
if conditional
in the program: when this point is reached, any code located
within its confines will be executed if and only if the
condition
is met. In this case, the condi-
tion is that Sprite2 is being touched by Sprite1. With the use of
and
,
or
and
not
logic blocks
from the Operators block palette, some quite complex scenarios can be accommodated.
Boolean Logic
Named for George Boole, Boolean logic or Boolean algebra is a key concept to understand-
ing how computers work. In Scratch, Boolean logic is implemented in three Operators
bricks:
and
,
or
and
not
.
The
and
operator requires that two inputs—in Scratch’s case, Sensing blocks—are both
true before its own output will be true. If either or both of its inputs is false, its own output
will be false; only when both inputs are true will the output be true. You can use this opera-
tor to check to see if a sprite is touching two other sprites, as an example.
The
or
operator requires that one or the other of its two inputs are true. If either input is
true, the operator’s output will also be true. This is a handy way of re-using code: if you have
multiple sprites that are lethal to the player sprite, a single block of code can be used with
the
or
operator to trigger when any of the enemy sprites are touched.
Finally, the
not
operator is known as an
inverter
: whatever its single input is, it outputs the
opposite. If its input is false, then the output is true; if the input is true, then the output is false.
Содержание A
Страница 1: ......
Страница 2: ......
Страница 3: ...Raspberry Pi User Guide 2nd Edition...
Страница 4: ......
Страница 5: ...Raspberry Pi User Guide 2nd Edition Eben Upton and Gareth Halfacree...
Страница 10: ......
Страница 26: ...R A S P B E R R Y P I U S E R G U I D E S E C O N D E D I T I O N 10...
Страница 28: ......
Страница 29: ...Chapter 1 Meet the Raspberry Pi...
Страница 37: ...Chapter 2 Getting Started with the Raspberry Pi...
Страница 56: ......
Страница 57: ...Chapter 3 Linux System Administration...
Страница 79: ...Chapter 4 Troubleshooting...
Страница 89: ...Chapter 5 Network Configuration...
Страница 109: ...Chapter 6 The Raspberry Pi Software Configuration Tool...
Страница 122: ......
Страница 123: ...Chapter 7 Advanced Raspberry Pi Configuration...
Страница 140: ......
Страница 141: ...Chapter 8 The Pi as a Home Theatre PC...
Страница 151: ...Chapter 9 The Pi as a Productivity Machine...
Страница 159: ...C H A P T E R 9 T H E P I A S A P R O D U C T I V I T Y M A C H I N E 143 Figure 9 4 Exporting a file from The Gimp...
Страница 160: ......
Страница 161: ...Chapter 10 The Pi as a Web Server...
Страница 171: ...Part III Programming with the Raspberry Pi Chapter 11 An Introduction to Scratch Chapter 12 An Introduction to Python...
Страница 172: ......
Страница 173: ...Chapter 11 An Introduction to Scratch...
Страница 189: ...Chapter 12 An Introduction to Python...
Страница 216: ......
Страница 218: ......
Страница 219: ...Chapter 13 Learning to Hack Hardware...
Страница 234: ......
Страница 235: ...Chapter 14 The GPIO Port...
Страница 249: ...Chapter 15 The Raspberry Pi Camera Module...
Страница 265: ...Chapter 16 Add on Boards...
Страница 279: ...Part V Appendixes Appendix A Python Recipes Appendix B Camera Module Quick Reference Appendix C HDMI Display Modes...
Страница 280: ......
Страница 281: ...Appendix A Python Recipes...
Страница 287: ...Appendix B Raspberry Pi Camera Module Quick Reference...
Страница 293: ...Appendix C HDMI Display Modes...