Upload
nguyenanh
View
221
Download
0
Embed Size (px)
Citation preview
Harry Potter Scratch Game 2
The Game• Use the arrow keys
to move Harry Potter – to catch the golden
snitch
– to avoid being hit by the bludger
Harry Potter Scratch Game 3
Create a New Folder In Your Drive:
Scratch Folder Name it…..Harry Potter
• Navigate to the HarryPotter folder In Your Gaggle Drive and go to the Apps > Digital Locker
Harry Potter Scratch Game 4
Go to the Shared Folder Called Harry Potter
• Open the folder and download all of the pictures needed to create this Scratch Game or get your own if can find and create better ones.
Harry Potter Scratch Game 5
Getting Started• Start Scratch
• Delete the cat– Click on scissors
and then the cat
– or right click on the cat and pick delete
Harry Potter Scratch Game 6
Change the Background• Click on the stage
to select it
• Click on the Backgrounds tab
• Click on the import button
Harry Potter Scratch Game 7
Select New Background• Navigate to the
HarryPotter folder Select the Stadium and click OK
Harry Potter Scratch Game 9
Add Harry Potter• Click on the folder
with a star on it to add a sprite from a file
• Navigate to the HarryPotter folder
• Add Harry
Harry Potter Scratch Game 11
Scratch is Event Driven• You can make
things happen when events occur– such as a key is
pressed– the green flag is
clicked on– a message is
received
Harry Potter Scratch Game 12
Making Harry Move• Click on the Scripts Tab• Click on Control and drag
out – when space key pressed– Change to left arrow key
• Click on Looks and drag out– switch to costume – Change to Harry_Left
• Click on Motion and drag out– change x by 1– click on 1 and change to -4
Harry Potter Scratch Game 13
The Scratch Stage• The Scratch stage is 480 pixels wide and
360 pixels high.
-240 240
180
-180
x increases x decreases
y increases
y decreases
Harry Potter Scratch Game 14
Add Other Key Scripts• When right arrow
– change to Harry_Right costume
– change x by 4
• When down arrow– change y by -4
• When up arrow– change y by 4
Harry Potter Scratch Game 15
Add the Golden Snitch• Click on the folder
with a star on it to add a sprite from a file
• Navigate to the HarryPotter folder
• Add the snitch
Harry Potter Scratch Game 17
Snitch Behavior• In a 'normal' Quidditch game the game is
over when the snitch is caught
• But, in this game you will have to catch 10 snitches to win.– you will need to keep track of the number
caught
• Each time the snitch is caught it will hide and reappear in a new random location
Harry Potter Scratch Game 18
Variables• To remember how many
snitches were caught we will need a variable– the value stored in a
variable can change (vary)• Click on the Variables
button• Then click on Make a
Variable• Enter a name for the
variable• Use the default of For all
sprites• Click on OK
Harry Potter Scratch Game 19
Starting• Scratch games and
animations usually start when you click the green flag
• Click on Stage to select it• Click on Scripts to program• Click on Control to see the
control blocks• Drag the "when green flag
clicked" block out• Click on Variables
– drag the "set Snitches Caught to 0"
Harry Potter Scratch Game 20
Messages• Scripts can receive messages
and broadcast messages– blocks are in the Control
area• Click on the snitch sprite,
then Scripts then Control• To create a message drag out
the "when I receive" and click on the down arrow– then on new…
• Give the message the name Caught– click on OK
Harry Potter Scratch Game 21
More about Messages• Broadcasting and receiving messages is
how sprites communicate with each other– it doesn't cause anything to be printed or
appear
– it does execute scripts that receive the message
– All broadcasted messages should have one or more sprites that receive the message
Harry Potter Scratch Game 22
Responding to Caught• Hide the snitch
– drag hide from Looks• Add one to the number
of snitches caught
– drag from Variables• Change the x and y
values– drag from motion– replace values with
random numbers • from Number
• Show the snitch– drag from Looks
• Play a sound– drag from Sound
Harry Potter Scratch Game 23
Conditional Execution• Sometimes we want to execute a block or
several blocks if some condition is true– use sensing blocks or number blocks that
return true or false– these have 6 sides (hexagon)
• The snitch is captured if Harry is touching it
• Use an if from Control to check if Harry is touching the snitch sprite
Harry Potter Scratch Game 24
Catching the Snitch• If the Harry Potter sprite is
touching the snitch sprite – add if
• from Control– add "touching …" and change
to "Sprite3"• from Sensing
• Broadcast the Caught message
• from Control
• Right click on the if block and pick "duplicate" – and add to all the other
scripts for Harry Potter
Harry Potter Scratch Game 25
Catching the Snitch• Right click on the
if block and select duplicate
• Drop the copy on the other scripts
• Move the scripts to see them better
Harry Potter Scratch Game 26
More on Conditionals• Sometimes we want to execute some
blocks if a condition is true and other blocks if it is false
• Use a if and else block from Control for this
Harry Potter Scratch Game 27
Winning the Game• In the snitch script
that receives the caught message– drag in a if and else
• from Control– place it after the
change Snitches Caught by 1
– move the last 3 tiles into the else part
• if you have won these don't need to execute
Harry Potter Scratch Game 28
Winning the Game– drag in a "blank = blank"
• from Number
– drag in "Snitches Caught" to the first blank area
• from Variables
– click on second blank area and type in 10
– drag in a broadcast block
• Create new message "Won"
Harry Potter Scratch Game 29
Telling the User• Click on Stage• Click on
Backgrounds• Click on Import• Navigate to
HarryPotter folder• Select Congrats
– click on OK
Harry Potter Scratch Game 30
Stage Scripts• Click on Stage and Scripts• Set the initial background
to the stadium – when the green flag is
clicked• from Looks
• When the stage receives a Won message– from Control– switch background to
Congrats• from Looks
Harry Potter Scratch Game 31
Hide Other Sprites• If the user has won
– hide the other sprites• Harry Potter• Snitch
– You can click on the "when I receive Won"
• and drag it to the snitch sprite to copy it
• then click on the snitch sprite and scripts to check the copy worked
Harry Potter Scratch Game 32
When Game Starts• If the user wins and
Harry and the Snitch hide when you restart the game– they won't show again
if you start a new game
• Add "when green flag clicked" show to:– Harry – Golden Snitch
Harry Potter Scratch Game 33
Making it Harder• add a Bludger
• if the Bludger hits Harry he "dies"– start with 3 lives
– lose a life each time Harry dies
• if Harry loses all 3 lives you lose the game
Harry Potter Scratch Game 34
Add Lives Variable• Click on Variables
• Click on Make a variable
• Enter Lives
• Drag display to top right
Harry Potter Scratch Game 35
Start with 3 Lives• Click on Stage
• Click on Scripts
• Add "set Lives to 0"
• Click on 0 and change to 3
Harry Potter Scratch Game 36
Painting a Bludger• You can paint a new
sprite– click on the paintbrush
with a star on it
• Click the color• Click the circle shape
tool• Click and drag to make
the circle• Click on OK
Harry Potter Scratch Game 37
Loops • Sometimes you want to repeat blocks until
the game ends or something happens
• Use a forever block to repeat actions until the game ends– use a stop all block to stop all scripts
• Use a repeat block to repeat some actions a given number of times
Harry Potter Scratch Game 38
Bludger Scripts• When the green flag
is clicked loop forever– set x to 260– hide the bludger– wait for some
random amount of time between 3 and 5 seconds
– show the bludger– Glide to the
opposite side • x is -260• random y from -
145 to 145
Harry Potter Scratch Game 39
Bludger Scripts• When the green flag
is clicked, loop forever– check if touching Harry
• play a sound• reduce the number of
lives• check if lost
– lives = 0
• wait till not touching Harry
– or you will die quickly
Harry Potter Scratch Game 40
Tell User Game Over• Click on Stage• Click on
Backgrounds• Click on Stage• Select Background
Tab• Paint/Create Text:
Game Over• Click OK
Harry Potter Scratch Game 41
New Stage Script• Click on Scripts• Add "when I receive Lost"
– from Control
• Add "switch background Game Over"– from Looks
• Add "stop all"– from Control
• Add "stop all" to the end of when receive "Won" script too
Harry Potter Scratch Game 42
Hide Sprites When Lose• When the game is
lost– hide Harry
– hide the Snitch
Harry Potter Scratch Game 43
Project Notes if signed up online and can upload
• Click on the notepad in the top right corner
• Type in project notes if live and signed up.
• You can upload your project to the Scratch web site– Click on Share!
– See it at http://scratch.mit.edu
Harry Potter Scratch Game 44
Extensions• Speed up the Bludger each time a snitch has been caught
– Will need a variable for "Time to Cross"– Reduce the variable each time each time the snitch is caught
• Add background music– Import Theme.wav– Add a script to the stage
• When the green flag is clicked• Loop forever playing the theme and waiting for it to finish
• Make the Bludger come from any direction– and glide across to the opposite side
• Add Beaters who can hit the Bludger away– Using the space key
• Add a time limit – That counts done