Olá, Modifiquei o código um pouco para praticar.. Adicionei uma função para gerar cores aleatórias e fiz a função desenhaQuadrado desenhar uma quantidade de quadrados na horizontal e na vertical, utilizando as cores aleatórias.
<canvas width="600" height="400"></canvas>
<script>
var tela = document.querySelector("canvas");
var pincel = tela.getContext("2d");
function corRandom() {
var cores = ["blue", "yellow", "red", "green", "black", "grey", "orange", "lightblue", "lightgreen", "pink"];
var random = Math.round(Math.random() * 9);
var corAleatoria = cores[random];
return corAleatoria;
}
function desenheQuadrado(corBorda, largura, altura, qtdadeH, qtdadeV){
var x = 0;
var y = 0;
var contador = 1;
var contador1 = 1;
while(contador <= qtdadeV){
while(contador1 <= qtdadeH){
pincel.fillStyle = corRandom();
pincel.fillRect(x, y, largura, altura);
pincel.strokeStyle = corBorda;
pincel.strokeRect(x, y, largura, altura);
contador1++;
x += largura;
}
x = 0;
y += altura;
contador1 = 1;
contador++;
}
}
desenheQuadrado( "black", 50, 50, 12, 8);
</script>
Eu queria saber se existe uma forma melhor de gerar as cores aleatórias, sem a necessidade de preencher o array das cores manualmente.