WEEK 5

KEEPING
SCORE

VARIABLES & GAME SYSTEMS

TODAY YOU'LL LEARN

VARIABLES
THAT REMEMBER
NUMBERS

SCORE
SYSTEMS

LIVES
AND
HEALTH

TIMERS
THAT COUNT
DOWN

MAKING GAMES FEEL REAL!

HOOK QUESTION

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!

WHAT ARE 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!

CREATING A VARIABLE

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

SET VS CHANGE

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

DEMO: SCORE COUNTER

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!

WHY INITIALIZE?

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

VARIABLE SCOPE

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

GUIDED BUILD: FRUIT CATCHER

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!

STEP 1: CREATE VARIABLES

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!

STEP 2: INITIALIZE EVERYTHING

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!

STEP 3: MOVE THE BASKET

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)

STEP 4: FALLING FRUIT

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)

STEP 5: SCORING POINTS

STILL ON THE FRUIT SPRITE

IF <TOUCHING [BASKET]?> THEN

CHANGE [SCORE] BY (1)

PLAY SOUND [POP]

HIDE

CATCH FRUIT = SCORE GOES UP BY 1!

STEP 6: LOSING LIVES

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!

NEGATIVE NUMBERS

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!

STEP 7: BUILDING A TIMER

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!

STEP 8: GAME OVER

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]

CHECKPOINT: TEST YOUR GAME

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!

MAKER TIME CHALLENGES

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 DEBUGGING CHECKLIST

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?

WHAT WE LEARNED TODAY

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!

NEXT WEEK PREVIEW

WEEK 6: "LEVEL UP"

CHOOSE
YOUR OWN
PATH

CLONE
MASTERS

CAPSTONE
PLANNING

GET READY TO PICK YOUR ADVENTURE!

SAVE YOUR WORK!

GIVE YOUR PROJECT A GREAT NAME

"FRUIT
CATCHER
WITH LIVES"

"SCORE
KEEPER
GAME"

"UNTITLED"

NOPE!

SEE YOU NEXT WEEK, CODERS!