Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 42

Harry Potter Scratch

Game
Pranali Choubal
Kunal Shah
Barb Ericson
ericson@cc.gatech.edu
Dec 2007

Harry Potter Scratch Game

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 Gam


e

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 Gam


e

Change the Background


Click on the stage
to select it
Click on the
Backgrounds tab
Click on the import
button

Harry Potter Scratch Gam


e

Select New Background


Navigate to the
HarryPotter folder
Select the Stadium
and click OK

Harry Potter Scratch Gam


e

The Stage is Set

Harry Potter Scratch Gam


e

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 Gam


e

The Game so Far

Harry Potter Scratch Gam


e

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 Gam


e

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 Gam


e

10

The Scratch Stage


The Scratch stage is 480 pixels wide and
180
360 pixels high.
y decreases
y increases
-240

240
x decreases

x increases

-180
Harry Potter Scratch Gam
e

11

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 Gam


e

12

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 Gam


e

13

Harry and the Snitch

Harry Potter Scratch Gam


e

14

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 Gam
e

15

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 Gam


e

16

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 Gam


e

17

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 Gam


e

18

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 Gam


e

19

Responding to Caught

Hide the snitch

Add one to the number


of snitches caught

drag hide from Looks

drag from Variables

drag from motion


replace values with
random numbers

Change the x and y


values

from Number

Show the snitch

Play a sound

drag from Looks

drag from Sound

Harry Potter Scratch Gam


e

20

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 Gam


e

21

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 Gam


e

22

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 Gam


e

23

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 Gam


e

24

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 Gam


e

25

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 Gam


e

26

Telling the User


Click on Stage
Click on
Backgrounds
Click on Import
Navigate to
HarryPotter folder
Select Congrats
click on OK

Harry Potter Scratch Gam


e

27

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 Gam


e

28

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 Gam


e

29

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 Gam


e

30

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 Gam


e

31

Add Lives Variable


Click on Variables
Click on Make a
variable
Enter Lives
Drag display to top
right

Harry Potter Scratch Gam


e

32

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 Gam


e

33

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 Gam


e

34

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 Gam


e

35

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 Gam


e

36

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 Gam


e

37

Tell User Game Over


Click on Stage
Click on
Backgrounds
Click on Import
Select HarryPotter
folder
Select Game Over
Click OK
Harry Potter Scratch Gam
e

38

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 Gam


e

39

Hide Sprites When Lose


When the game is
lost
hide Harry
hide the Snitch

Harry Potter Scratch Gam


e

40

Project Notes
Click on the notepad in
the top right corner
Type in project notes
You can upload your
project to the
Scratch web site
Click on Share!
See it at
http://scratch.mit.edu

Harry Potter Scratch Gam


e

41

Extensions

Speed up the Bludger each time a snitch has been caught

Add background music

Will need a variable for "Time to Cross"


Reduce the variable each time each time the snitch is caught
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

Add Beaters who can hit the Bludger away

Add a time limit

and glide across to the opposite side


Using the space key
That counts done

Harry Potter Scratch Gam


e

42

You might also like