2
respostas

Por que meu programa com loop for não funciona?

<meta charset="UTF-8">
<canvas width="700" height="500"></canvas>

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

        //lapis.beginPath();
        lapis.fillStyle = cor;
        lapis.fillRect(x, y, tamanho, tamanho);

        lapis.strokeStyle = 'black';
        lapis.strokeRect(x, y, tamanho, tamanho);
        //lapis.fill();
    }
    for(var i = 0; i>=150; i = i + 50){
        desenhaQuadrado(i, 0, 50, 'green');
        i = i + 50;
    }
    /*desenhaQuadrado(0, 0, 50, 'green');
    desenhaQuadrado(50, 0, 50, 'green');
    desenhaQuadrado(100, 0, 50, 'green');
    desenhaQuadrado(150, 0, 50, 'white');

</script>

Inicialemente, tentei while e for, mas em nenhuma situação o programa não está rodando. Por que isso acontece?

2 respostas

Olá, Akhenaton

Haviam basicamente quatro erros, mas tudo resolvido agora! Qualquer dúvida, só entra em contato.

<meta charset="UTF-8">
<canvas width="700" height="500"></canvas>

<script>
    var tela = document.querySelector('canvas');
    var lapis = tela.getContext('2d');

    function desenhaQuadrado(x, y, tamanho, cor) {
        lapis.fillStyle = cor;
        lapis.fillRect(x, y, tamanho, tamanho);
        lapis.strokeStyle = 'black';
        lapis.strokeRect(x, y, tamanho, tamanho);
    }

    for(var i = 0; i<200; i = i + 50)
    {
        desenhaQuadrado(i, 0, 50, 'green');

    }

</script>

Fala garoto! 1º - No teu for " i >=150" não permite que a repetição aconteça... então coloca " i <= 150"

2º - dentro do for tu não precisa colocar o i = i +50, pq no próprio parênteses que anuncia os parametros do teu For já tem essa variavel de repetição...

3º - tu esqueceu de fechar o último comentário na linha antes de fechar o /script coloca um "*/"

é nós ♥