JavaScript: Draw a diagram with diagonal, white to black circles

JavaScript Drawing : Exercise-6 with Solution

Write a JavaScript program to draw the following diagram [diagonal, white to black circles].

Sample output:

diagonal, white to black circles

Sample Solution:

HTML Code:

<!DOCTYPE html>
  <title>Diagonal, White to Black circles</title>
  <canvas id="myCanvas" width="1500" height="800">
  <p>Update your browser!</p>

JavaScript Code:

function draw()
  var ctx = document.getElementById("myCanvas").getContext("2d");
  var counter = 0;
  for (var i=0;i<6;i++)
  for (var j=0;j<6;j++)
  //Start from white and goes to black
  ctx.fillStyle = "rgb(" + Math.floor(255-42.5*i) + "," + Math.floor(255-42.5*i) +
  "," + Math.floor(255-42.5*j) + ")";
  if (i === counter && j === counter)
  //creates the circles
  //creates a border around the circles so white one will be vissible
ctx.stroke(); } } counter++; } } draw();

Live Demo:

See the Pen javascript-drawing-exercise-6 by w3resource (@w3resource) on CodePen.

Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript program to draw the following diagram [use moveto() function].
Next: Javascript Object Exercises

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

Follow us on Facebook and Twitter for latest update.

JavaScript: Tips of the Day

Log the values that are commented out after the console.log statement

function* startGame() {
  const answer = yield 'Do you love JavaScript?';
  if (answer !== 'Yes') {
    return "Oh wow... Guess we're gone here";
  return 'JavaScript loves you back ?';

const game = startGame();
console.log(/* 1 */); // Do you love JavaScript?
console.log(/* 2 */); // JavaScript loves you back ?

A generator function "pauses" its execution when it sees the yield keyword. First, we have to let the function yield the string "Do you love JavaScript?", which can be done by calling game.next().value.
Every line is executed, until it finds the first yield keyword. There is a yield keyword on the first line within the function: the execution stops with the first yield! This means that the variable answer is not defined yet!
When we call game.next("Yes").value, the previous yield is replaced with the value of the parameters passed to the next() function, "Yes" in this case. The value of the variable answer is now equal to "Yes". The condition of the if-statement returns false, and JavaScript loves you back ? gets logged.

Ref: https://bit.ly/3jFRBje


We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook