Rosemeire, você identifica bem os comentários. Ajuda a entender.
Vi que o código repete algumas coisas parecidas, e juntei pra sintetizar. Ficou só uma function que alterna as cores das flores.
<meta charset="UTF-8">
<canvas width="1200" height="2400"></canvas>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStyle = 'lightgray';
pincel.fillRect(0, 0, 1200, 2400);
var cores = ["blue", "red", "yellow", "orange", "black", "pink", "gray", "green", "blue", "brown"];
<!-- Desenhar petálas da flor -->
function desenhaCirculo(x, y, raio, cor) {
pincel.fillStyle = cor;
pincel.beginPath();
pincel.arc(x, y, raio, 0, 2 * Math.PI);
pincel.fill();
}
<!-- Desenhar flor alternando cores da flor -->
function desenhaFlor(x, y) {
if(contaFlores % 2 != 0) { //se a flor for ímpar, começa com a cor blue.
i = 0;
} else { //se a flor for par, começa com a cor pink.
i = 5;
}
desenhaCirculo(x, y+20, 10, cores[i + 0]);
desenhaCirculo(x, y, 10, cores[i + 1]);
desenhaCirculo(x, y-20, 10, cores[i + 2]);
desenhaCirculo(x-20, y, 10, cores[i + 3]);
desenhaCirculo(x+20, y, 10, cores[i + 4]);
}
<!-- Inicializa posicao -->
var posicaoFlor = 100;
<!-- Obtém quantidade de flores para desenhar entre 1 / 10 -->
while (true){
var floresDesejadas = parseInt(prompt("Quantas flores você quer desenhar? (entre 1 até 10)"));
if (floresDesejadas >=1 && floresDesejadas <=10) {
break;
}
}
<!-- Desenha as flores solicitadas -->
for (contaFlores = 1; contaFlores <= floresDesejadas; contaFlores = contaFlores + 1) {
desenhaFlor (posicaoFlor, posicaoFlor);
posicaoFlor = posicaoFlor + 50;
}
</script>