1
resposta

Erro ao usar o 'for'

Olá! Deu erro quando fiz o código abaixo usando 'for' para criar 3 quadrados verdes. Estava tentando praticar esse aprendizado com o exercício de frações .

O que há de errado?

Obrigada!

<meta charset="UTF-8">

<canvas width="700" height="500"></canvas>

<script type="text/javascript">

    function desenhaQuadrado(x,y,tamanho,cor) {
        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');

        pincel.fillStyle = cor;
        pincel.fillRect(x,y,tamanho,tamanho);

        pincel.strokeStyle ='black';
        pincel.strokeRect(x,y,tamanho,tamanho);
    }

    function desenhaTexto(texto,x,y){
        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');

        pincel.font ='30px Georgia';
        pincel.fillStyle ='black';
        pincel.fillText(texto, x, y);
    }


    var y = 50
    var t = 100

    for (var x = 50; x <= 250;x+t){
        desenhaQuadrado(x, y, t, 'green');
    }

    desenhaQuadrado(350, y, t, 'white');

    desenhaTexto('Qual é a fração?',150,40);


</script>
1 resposta

Bruno, o erro está aqui:

for (var x = 50; x <= 250;x+t){
        desenhaQuadrado(x, y, t, 'green');
    }

No terceiro argumento do for(), você escreveu "x+t". Isso da um erro de loop infinito no for! para você somar continuamente um número ao outro escreva "x = x + t", ou mais fácil, "x += t".

Com "x + t", o valor de x sempre será 50, porque ele não está somando, está apenas atribuindo o valor positivo 50.