WEEK 5
VARIABLES & GAME SYSTEMS
VARIABLES
THAT REMEMBER
NUMBERS
SCORE
SYSTEMS
LIVES
AND
HEALTH
TIMERS
THAT COUNT
DOWN
MAKING GAMES FEEL REAL!
HOW DOES A GAME REMEMBER YOUR SCORE?
HOW DOES
MARIO KNOW
YOUR COINS?
HOW DOES
MINECRAFT
KNOW YOUR
HEALTH?
HOW DOES A
TIMER KNOW
WHEN TIME
IS UP?
ANSWER: VARIABLES!
A VARIABLE IS A BOX THAT HOLDS A VALUE
LIKE A
SCOREBOARD
THAT UPDATES
LIKE A
BACKPACK
THAT COUNTS
YOUR ITEMS
LIKE A
STOPWATCH
THAT TRACKS
TIME
VARIABLES CAN HOLD NUMBERS OR WORDS!
STEP-BY-STEP IN SCRATCH
1. CLICK
VARIABLES
CATEGORY
(ORANGE)
2. CLICK
MAKE A
VARIABLE
3. NAME IT
SOMETHING
CLEAR LIKE
"SCORE"
4. CHOOSE
FOR ALL
SPRITES
THE TWO MOST IMPORTANT VARIABLE BLOCKS
SET [SCORE]
TO (0)
REPLACES
THE VALUE
COMPLETELY
CHANGE [SCORE]
BY (1)
ADDS TO
THE CURRENT
VALUE
SET = START FRESH • CHANGE = ADD OR SUBTRACT
WATCH ME CODE A SIMPLE SCORE
WHEN GREEN
FLAG CLICKED
SET [SCORE] TO (0)
FOREVER
IF <TOUCHING [FRUIT]?> THEN
CHANGE [SCORE] BY (1)
NOTICE: WE SET TO 0 FIRST, THEN CHANGE BY 1!
ALWAYS SET YOUR VARIABLES AT THE START!
WITHOUT
SET TO 0:
SCORE KEEPS
GOING UP
EVERY TIME
YOU RESTART!
WITH
SET TO 0:
SCORE RESETS
FRESH EACH
GAME!
RULE: ALWAYS SET VARIABLES WHEN GREEN FLAG IS CLICKED
WHO CAN SEE YOUR VARIABLE?
FOR ALL
SPRITES:
EVERYONE
CAN READ
AND CHANGE IT
USE FOR:
SCORE, LIVES,
TIMER
FOR THIS
SPRITE ONLY:
ONLY ONE
SPRITE CAN
USE IT
USE FOR:
SPEED, MY
HEALTH
LET'S BUILD A GAME TOGETHER!
CATCH
FALLING
FRUIT
EARN
POINTS
FOR EACH
CATCH
LOSE
A LIFE
IF YOU
MISS
BEAT THE
TIMER!
FOLLOW ALONG STEP-BY-STEP!
MAKE THESE THREE VARIABLES (FOR ALL SPRITES)
SCORE
TRACKS
POINTS
LIVES
TRACKS
CHANCES
LEFT
TIMER
TRACKS
SECONDS
LEFT
CHECK THE BOXES SO THEY SHOW ON THE STAGE!
ON THE BOWL/BASKET SPRITE
WHEN GREEN
FLAG CLICKED
SET [SCORE] TO (0)
SET [LIVES] TO (3)
SET [TIMER] TO (30)
GO TO X: (0) Y: (-150)
START FRESH EVERY GAME!
ARROW KEY CONTROLS
WHEN GREEN
FLAG CLICKED
FOREVER
IF <KEY [LEFT ARROW] PRESSED?> THEN
CHANGE X BY (-10)
IF <KEY [RIGHT ARROW] PRESSED?> THEN
CHANGE X BY (10)
ON THE FRUIT SPRITE
WHEN GREEN
FLAG CLICKED
FOREVER
GO TO X: (PICK RANDOM
-200 TO 200) Y: (180)
SHOW
REPEAT (60)
CHANGE Y BY (-5)
STILL ON THE FRUIT SPRITE
IF <TOUCHING [BASKET]?> THEN
CHANGE [SCORE] BY (1)
PLAY SOUND [POP]
HIDE
CATCH FRUIT = SCORE GOES UP BY 1!
WHAT HAPPENS WHEN FRUIT HITS THE GROUND?
IF <(Y POSITION) < [-170]> THEN
CHANGE [LIVES] BY (-1)
PLAY SOUND [BUZZ]
HIDE
CHANGE BY (-1) MEANS SUBTRACT! LIVES GO DOWN!
CHANGE BY (-1) = SUBTRACT 1
CHANGE BY (1)
ADDS 1
SCORE: 5 → 6
CHANGE BY (-1)
SUBTRACTS 1
LIVES: 3 → 2
CHANGE BY (5)
ADDS 5
SCORE: 10 → 15
THE MINUS SIGN MAKES THE NUMBER GO DOWN!
ON THE BASKET SPRITE (A SEPARATE SCRIPT)
WHEN GREEN
FLAG CLICKED
SET [TIMER] TO (30)
REPEAT (30)
WAIT (1) SECONDS
CHANGE [TIMER] BY (-1)
COUNTS DOWN FROM 30 TO 0 — ONE SECOND AT A TIME!
TWO WAYS THE GAME CAN END
OUT OF LIVES
IF <(LIVES) = [0]> THEN
SAY [GAME OVER!]
FOR (2) SECONDS
STOP [ALL]
TIME'S UP
IF <(TIMER) = [0]> THEN
SAY [TIME'S UP!]
FOR (2) SECONDS
STOP [ALL]
TRY THESE THINGS
DOES SCORE
START AT 0?
DO LIVES
START AT 3?
DOES SCORE
GO UP WHEN
YOU CATCH
FRUIT?
DO LIVES GO
DOWN WHEN
FRUIT
HITS GROUND?
IF SOMETHING IS WRONG, USE THE 3-STEP DEBUG METHOD!
LEVEL 1
ADD SOUND
EFFECTS FOR
CATCH AND
MISS
LEVEL 2
DIFFERENT
FRUIT GIVE
DIFFERENT
POINTS
LEVEL 3
ADD A
HIGH SCORE
THAT SAVES
BETWEEN GAMES
CHOOSE YOUR CHALLENGE LEVEL!
VARIABLE NOT WORKING? CHECK THESE:
DID YOU
SET IT TO
0 AT THE
START?
ARE YOU
USING SET
WHEN YOU
MEAN CHANGE?
IS THE
VARIABLE
CHECKED TO
SHOW ON
STAGE?
IS THE
CODE ON
THE RIGHT
SPRITE?
YOU CAN NOW:
CREATE AND
USE
VARIABLES
BUILD
SCORE AND
LIVES
SYSTEMS
MAKE
COUNTDOWN
TIMERS
USE
NEGATIVE
NUMBERS TO
SUBTRACT
YOUR GAMES FEEL REAL NOW!
WEEK 6: "LEVEL UP"
CHOOSE
YOUR OWN
PATH
CLONE
MASTERS
CAPSTONE
PLANNING
GET READY TO PICK YOUR ADVENTURE!
GIVE YOUR PROJECT A GREAT NAME
"FRUIT
CATCHER
WITH LIVES"
"SCORE
KEEPER
GAME"
"UNTITLED"
NOPE!
SEE YOU NEXT WEEK, CODERS!