Boa noite. Consegui fazer a proposta do exercício, mas resolvi dar uma incrementada no código. Eu queria que o usuário pudesse escolher o número total de casas e a fração, assim como as cores que representa cada um deles. Entretanto, eu não consegui fazer uma validação do que o usuário digita com o break. Tentei colocar o if break dentro do primeiro loop mas não deu certo, então deixei como comentário para que entendessem minha lógica. Também queria que caso o usuário digitasse uma cor inválida a pergunta fosse feita novamente, mas acho que ainda não peguei a manha kkk Se alguém puder ajudar, ou quiser dar uma incrementada nesse código eu agradeço.
<canvas width="600" height="400"></canvas>
<script>
function desenhaQuadrado(x, cor) {
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStyle = cor;
pincel.fillRect(x, 0, 50, 50);
pincel.strokeStyle = 'black';
pincel.strokeRect(x, 0, 50, 50);
}
var numeroTotal = prompt("Digite o total de casas.");
var cor1 = prompt("Digite a cor que quer o número total de casas. \nblue \npurple \nred");
var numeroFracao = prompt("Digite a fração do total. ");
var cor2 = prompt("Digite a cor que quer a casas fracionadas. \npink \nyellow \nwhite");
var numeroResultado = 0;
var x = 0;
var quadrado = 0;
while (quadrado < numeroTotal - numeroFracao){
/*if(numeroFracao >= numeroTotal){
alert("O número total de casas deve ser maior que a fração.");
break;
}*/
desenhaQuadrado(x, cor1);
quadrado++;
x = x + 50;
}
while (numeroResultado < numeroFracao){
desenhaQuadrado(x, cor2);
numeroResultado++;
x = x + 50;
}
</script>