Lecture Slides
Download
Report
Transcript Lecture Slides
Scratch the Cat
Object Oriented Programing
Writing computer programs
Based on Objects Instead of Actions
Based on Data Instead of Logic
Traditional Programming
Input Data
Process the Data using Logic
Output the Data
Example: Add 2 Numbers
Input Data
Get Number 1
Get Number 2
Process the Data
Add Number 1 + Number 2
Output the Data
The Answer is: _______
Object Oriented Programming
Focus is on the Object we want to Manipulate/Change
Person
Animal – (Scratch the Cat)
Building
Buttons / Icons
Identify What Objects You Need
How do the Objects Relate to Each Other
Objects
All Objects have 3 Parts
Properties
What the Object looks like
Methods
Things the Objects can do
Events
What activities (by the user or by the computer) that the
object responds to
Our Programming Example
Dog vs. Cat
The cat and dog will walk up to one another and say hi
(bark and meow)
Object Oriented Programming
What objects will we need? (Objects and Properties)
What do the objects need to do? (Methods)
When do they need to do these things? (Events)
Lets Get Programming
Start Scratch the Cat
Double Click on the Scratch Icon
Scratch Interface
Properties
Methods
and Events
Display
Code
Objects
Objects
What Objects do You Need?
Cat
Dog
Cat – Already Exists (Scratch)
Set Properties for Scratch
Properties – Edit Cat Properties
2) Click Costumes
3) Edit Costume1
1) Click on Scratch
S
m
a
l
l
e
r
Bigger
Tools
Colors
R
o
t
a
t
e
F
l
i
p
Edit Cat Properties
Change the Animal
Erase the Current Cat
1) Click Eraser
2) Use Mouse to Erase
Scratch
Edit Cat Properties
1) Import
2) Click Animal
Folder
3) OK
Pick New Animal
Scroll
1) Pick a Cat
2) OK
Edit Properties
Change the Size
Make Smaller
?????
Add Sound Properties
Sounds
Add Sound
Scratch already has One Sound
MEOW
Add Another Sound
Import
Animal Cat OK
2) Animal
1) Import
3) Cat
Add A
nd
2
Object - DOG
Add New Sprite (Object)
Add New Sprite
Add a
nd
2
Object - Dog
Look Familiar – What Should We Do??
Edit the Object Properties
Resize – Make Smaller
Rotate if Needed So Dog will Face the Cat
Add Sound
New Objects will not have any
1) Import
existing sounds
Add a Sound
Import
Animal Dog1 OK
2) Animal
3) Dog1
Add Events
Events are the Actions Each Object will Respond to
Can be Computer Generated or User Generated
Cannot Respond to EVERY action
1st Event in this Program
Starting the Program
When the User Clicks the Green Flag
Events
2) Make sure Scripts
is Click
Responses to Actions
Can be Computer Generated or User Generated
We need to tell the Objects (Cat and Dog) what Actions
to Respond to
They cannot respond to everything
1st Event – Starting the Program
When the Green Flag is Clicked
Move Objects around using Mouse to look like this.
1) Make sure CAT is
Clicked
Event – When Flag Clicked
Flag Event is in
the Control
Section
Using Mouse –
Drag
to the Script area
1) Control
2) Drag Flag to
Scripts Area
Methods – When Flag Clicked
What do we want the Cat to do when the Flag is
Clicked
Say Meow
Make a Meowing Sound
These are Methods
Add Method to Code Window (Attach to Event)
Method – Say Meow
Find Method
LOOKS section
Drag “Say HELLO for
1) LOOKS
2 Secs” to Scripts area
We don’t want Cat to
Say “Hello”
Boxes in Methods
are things we can
change
2) Drag “Say “Hello”
to Code
Method – Say Meow
Click on “Hello” box
Type “MEOW”
Click on “2” box
Type “1”
Test – Click the Green Flag
(Code a Little – Test a LOT)
Add Next Method – Play Sound
Add Sound
SOUND Section
Drag “Play Sound
Cat” to Scripts
Area
Change “Cat” to
“Meow”
Test
1) Sound
2) Drag to
Event
Variables
A variable is a placeholder for a number that we don’t
know what it is yet, or a number that can change
It has a name
We assign it a value when we are ready
We can change the value when we need to
Let’s include a variable to count how many times the
cat meows
Make a Variable - Counter
Click the “VARIABLE”
section
Click on the “Make a
Variable” option
Give the Variable a
Name: COUNTER
1) Variables
2) Make a Variable
Make sure “For all
Sprites” is clicked
OK
3) Give a Name
Variable Shows Up
Variable Choices
Give Variable a Value
We need to set a Value for our Counter Variable
When all variables are created in Scratch they are
given a value of Zero
We need to set it to zero so that it resets everytime we
start over and hit the green flag
Give Variable a Value
Drag “Set Counter to 0”
method over to the
Scripts Area
Put just under
Drag to Code List
Update Value
We want to change the
value of the counter every
time the cat meows
What options do we have
to do that??
Update Value
Drag “Change Counter
by 1” method over to
the Scripts Area
Underneath other
instructions
Repeating Actions
How many times to we want the cat to meow?
5 times?
10 times?
As long as we run the program?
We do not want to have to add more instructions for each
time
Programmers use something called a LOOP to repeat
Let’s have our cat meow 15 times
Adding a Loop
Click on “CONTROL”
section
Find the Loop
instructions
Drag the instructions
to Scripts Area
Need to put above
the cat meowing to
repeat this action
2) Put Here
1) Repeat
Adding a Loop
Change the “10”
value to “15” to loop
15 times
Test It
Watch Counter
Change to 15
We could use the
“Forever” loop
to loop as long as
the program is
running
Events - Let the Dog Respond
The dog has to know that the cat has meowed
Cat has to cause a computer generated event
Dog can respond by barking
Broadcast an Event
And wait for a response
Create an Event
Drag “Broadcast” to the
Scripts Area
Click on the Down
Arrow
1) Drag Broadcast and Wait
“NEW”
Name the Event
“CatMeow”
2) Arrow - NEW
Have Dog Respond
Click on the Dog Sprite
No Scripts yet for the Dog Object
Have Dog Respond
Dog must “listen” for the CatMeow event
Drag “When I receive CatMeow”
to the Scripts Area
When the Cat Meow and the event
“fires” the Dog will hear it
What should the dog do???
Bark
Dog Bark
“LOOKS” Section
Drag “Say Hello for 2
Secs” to Scripts Area
Change “Hello” to
“Woof”
Change 2 secs to 1 sec
Test It
1) Drag to Scripts Area
2) Change to Woof
and 1 Sec
Dog Bark
“SOUND” Section
Drag “Play Sound”
to Scripts Area
Click on Down
Arrow
Select “Dog1” sound
Test It
1) Play Sound
2) Dog1 Sound
Dog Chases Cat
Dog moves toward the Cat
Move 20 steps
Cat moves away from the Cat
Move 10 steps
Add Code for Each Object to Move
Dog Chases Cat
Make sure the Dog Object is
1) Dog
Selected
“MOTION” Section
“Move 10 Steps”
Change to 20 Steps
2) Move 10 Steps
3) Change to 20
Cat Runs from Dog
Click Cat Object
Motion
“Move 10 Steps”
Put Under “Broadcast”
Test It
1) Pick Cat
2) Move 10 Steps
3) Put into Scripts
Clear Method
Return the Objects to their Starting Place to Run
Again
Clear Method
Responds to an Event
Move Dog to Location (-125, -30)
Move Cat to Starting Location (135, -15)
Uses Pixel numbers – (0,0) is the middle of the screen
Clear Method
2) CONTROL
1) Cat
3) When I Receive Event
Create the Event
Drag
to the Scripts
Area
NOT part of other instructions
Click on the “CatMeow” Box
Click “NEW” to create a new
Event
Name Event “CLEAR”
Move the Cat
Locations use an X
and Y values for
Height and Width
“MOTION” Section
Set X to 0
Set Y to 0
1) Set X to 0
2) Set Y to 0
Change X to 135
Change Y to -15
3) Change Values
Broadcast the Clear Event
Make the Clear Event Happen
Beginning of Program
1) CONTROL
2) Broadcast “CatMeow”
Broadcast the Clear Event
CONTROL Section
Drag to Top – Right
below
Click on “CatMeow”
Change to “Clear” Event
1) Below Flag Click
Move the Dog
Uses the Same Event
Still Need to “listen” for it (Already being Broadcast)
2) CONTOL
3) When I Receive
“CatMeow”
1) Click Dog Object
Move the Dog
CONTOL Section
Drag
to the Scripts
Area
Not part of other instructions
Click on the “CatMeow” Box
Click “Clear” event
Move the Dog
“MOTION” Section
Set X to 0
Set Y to 0
Change X to -125
Change Y to -30
1) Set X to 0
2) Set Y to 0
3) Change Values