Flow of Control

if/else if/else statements are used to make complex decisions. It's perhaps the most used statement to control program flow.

Let's input a choice, then see the visual result in CodeCraft world:

Example: choice

Let's build 5 white columns, then depending on your choice, one of them will be highlighted with a specific color:

// the original number array, white columns 
let pool = [3, 2, 4, 8, 1];
for (let i in pool) {
    column(i, -20, pool[i], 'quartz');
}

Run to see the original 5 white columns, then add the following code:

let choice = Number(prompt('Enter your choice of number from 1 to 5: '));

if (choice == 1) {
  console.log( '1, blue' );
  column(0, -20, pool[choice-1], 'linen_blue');
}
else if (choice == 2) {
  console.log( '2, red' );
  column(1, -20, pool[choice-1], 'linen_red');
}
else if (choice == 3) {
  console.log( '3, yellow' );
  column(2, -20, pool[choice-1], 'linen_yellow');
}
else if (choice == 4) {
  console.log( '4, pink' );
  column(3, -20, pool[choice-1], 'linen_pink');
}
else if (choice == 5) {
  console.log( '5, purple' );
  column(4, -20, pool[choice-1], 'linen_purple');
}   
else {
  console.log('You entered an invalid choice. No column is chosen');
}

Run the whole program a few times. Each time enter a different number to see the chosen column highlighted with a color.

Such as: 4, pink

Extra Practice

Let's make a square that is a solid color but has a different color on its diagonals. This can be done with a ternary operation inside nested for loops:

Square_X
for (let i = -5; i < 6; i++) {
    for (let j = -5; j < 6; j++) {
        let m = (Math.abs(i) == Math.abs(j)) ? 'box_black' : 'box_blue';
        block(i, 9+j, -10, m);
    }
}

results matching ""

    No results matching ""