Introduction to Object-Oriented Programming

advertisement
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
Download