||images:Image|| is the type of an image that appears on the screen; for example,
the image passed as a parameter to the ||sprites:sprites.create|| function,
which you create with img`1`.
Problem Set: Parameters
This section contains a number of selected problems for the Parameters section.
It is recommended that you review the problems, and complete a few before moving on to the next section.
Problem #1: Urgent Message!
Implement a ||functions:function|| called ||functions:urgentLog|| that accepts a
string called ||variables:message|| and a number called ||variables:numOfTimes||
as parameters.
The function should take the ||variables:message||, and log it to the console a
total of ||variables:numOfTimes|| times.
Problem #2: Caps Lock
The Caps Lock key on a keyboard is used to modify whether the letters you type show up in
UPPER CASE or lower case.
Implement a ||functions:function|| called ||functions:printHello|| that accepts
a ||logic:boolean|| value called ||variables:capsLock||.
||logic:If|| ||variables:capsLock|| is ||logic:true||,
the ||functions:function|| should print HELLO WORLD to the console;
otherwise, it should print hello world.
Problem #3: Pizza Place
You’ve decided to build a Pizzeria, and need a computer to help finish the orders.
The ||functions:function|| ||functions:makeOnePizza|| below will place a
pizza in a random location on the screen.
Feel free to customize the pizza ||sprites:Sprite|| to use your families secret recipe.
function makeOnePizza() {
    pause(200);
    let pizza: Sprite = sprites.create(img`
        . . . . . . b b b b . . . . . .
        . . . . . . b 4 4 4 b . . . . .
        . . . . . . b b 4 4 4 b . . . .
        . . . . . b 4 b b b 4 4 b . . .
        . . . . b d 5 5 5 4 b 4 4 b . .
        . . . . b 3 2 3 5 5 4 e 4 4 b .
        . . . b d 2 2 2 5 7 5 4 e 4 4 e
        . . . b 5 3 2 3 5 5 5 5 e e e e
        . . b d 7 5 5 5 3 2 3 5 5 e e e
        . . b 5 5 5 5 5 2 2 2 5 5 d e e
        . b 3 2 3 5 7 5 3 2 3 5 d d e 4
        . b 2 2 2 5 5 5 5 5 5 d d e 4 .
        b d 3 2 d 5 5 5 d d d 4 4 . . .
        b 5 5 5 5 d d 4 4 4 4 . . . . .
        4 d d d 4 4 4 . . . . . . . . .
        4 4 4 4 . . . . . . . . . . . .
    `);
    pizza.startEffect(effects.fire, 500);
    pizza.x = randint(0, screen.width);
    pizza.y = randint(0, screen.height);
}Create a new project, and copy over ||functions:makeOnePizza||.
Implement another ||functions:function|| called ||functions:makeOrder|| that takes
in a number ||variables:orderCount|| as a parameter.
The ||functions:makeOrder|| ||functions:function|| should ||game:game.splash||
how many pizzas have been ordered,
and then make that many pizzas using ||functions:makeOnePizza|| in a ||loops:loop||.
To test this, create the following orders:
- An order of 3 pizzas
- An order of 5 pizzas
- An order of 2 pizzas
Problem #4: Sprite Factory
Write a ||functions:function|| called ||functions:spriteFactory|| that accepts an
||images:Image|| called ||variables:spriteImage|| and a number called
||variables:count|| as parameters.
The ||functions:function|| should take the image ||variables:spriteImage|| and create
||variables:count|| different sprites that use the image.
The ||sprites:sprites|| will all initially be in the center of the screen,
in the same location.
When creating the ||sprites:sprites||, set ||math:random|| initial
||sprites:velocities|| for each ||sprites:sprite|| to so that
each ||sprites:sprite|| is visible.
Example #5: Follow the Leader
Write a ||functions:function|| called ||functions:follow|| that accepts two
||sprites:sprites||,
a ||variables:leader|| and a ||variables:follower||, as parameters.
Set the ||sprites:vx|| and ||sprites:vy|| properties of the
||variables:follower|| ||sprites:sprite|| such that the
||variables:follower|| moves in the direction of the ||variables:leader|| sprite.
To do this, you will need to compare the ||sprites:x|| and ||sprites:y||
positions for both sprites.
 
            