Problem Set: Intro to Functions

This section contains a number of selected problems for the Intro to JavaScript Functions section.

It is recommended that you review the problems, and complete a few before moving on to the next section.

Problem #1: Print a Letter

Using the ||functions:functions|| in the code snippet below, log a short (four line) letter to the console.

function printIntro() {
    console.log("Dear Friend,");
}

function printMiddle() {
    console.log("How are you?")
    console.log("I am learning JavaScript!");
}

function printEnding() {
    console.log("Sincerely, Awesome Coder");
}

Problem #2: My Favorite Color Is…

Create a ||functions:function||, ||functions:myFavoriteColor||, that will log the string My favorite color is to the console, followed by the name of your favorite color on the next line.

Problem #3: Counting Fruit

Recreate the code snippet below, and replace the commented out line with a ||functions:function|| called ||functions:countFruit|| that will log the total number of fruit (the sum of ||variables:apples|| and ||variables:oranges||) to the console.

let apples: number = 10;
let oranges: number = 5;

// countFruit goes here

countFruit();

oranges = 15;

countFruit();

Problem #4: Pizza Place

The ||functions:function|| in the code snippet below places a pizza ||sprites:Sprite|| in a ||math:random|| location on the screen, after taking one second to make the pizza.

namespace SpriteKind {
    export const Pizza = SpriteKind.create();
}

function makePizza() {
    pause(1000);
    let pizza: Sprite = sprites.create(sprites.food.smallPizza, SpriteKind.Pizza);
    pizza.x = Math.randomRange(0, screen.width);
    pizza.y = Math.randomRange(0, screen.height);
}

Recreate this code snippet in a new project. In this project, the player will be the owner of a Pizza Parlor.

The player will have the following orders for pizza:

  • An order of 3 pizzas
  • An order of 5 pizzas
  • An order of 2 pizzas

Create three new ||functions:Functions|| to handle the orders. Each ||functions:function|| should ||game:splash|| how many pizzas are in the given order, and then use a ||loops:for|| loop to make that many pizzas.

Problem #5: Asteroid Storm Maker

Create a ||functions:function|| called ||functions:fireAsteroid||.

In the function, create a new ||sprites:projectile|| representing an ||sprites:Asteroid||.

Set the ||sprites:Asteroid||‘s ||sprites:x|| position to be a random position between 0 and ||sprites:screen.width||. Set the ||sprites:y|| position to 0.

Set the ||sprites:Asteroid||‘s ||sprites:vy|| to 50, and the ||sprites:vx|| to a ||math:random|| value between -10 and 10.

Create another ||functions:function|| called ||function:asteroidStorm||. In it, create ten ||sprites:Asteroids|| using ||functions:fireAsteroid||, with a 250 ms ||loops:pause|| between each asteroid.

Call ||functions:asteroidStorm|| at least once to test your code.