10
respostas

Quantidade de quadrados

Gostaria de saber como faço para limitar a quantidade de quadrados a serem feitos, essa quantidade deve ser informada pelo usuario.

<canvas id="tela" width="1250" height="920"></canvas>
<meta charset="utf-8">

<html>

    <head>
            <title> Quadrado </title>
        </head>

    <body>



    </body>    


    <script>





    var qntQuadrado = parseInt(prompt("Quantos quadrados você quer fazer?"));

    var cor = prompt("Que cor você gostaria de pintar os Quadrado?");

    var altura = parseInt(prompt("Informe a altura dos Quadrado"));

    var largura = parseInt(prompt("Informe a largura dos Quadrado"));


    var fazQuadrado = function(qntQuadrado,x,y){
        var tela = document.getElementById("tela");

        var c = tela.getContext("2d");

        c.fillStyle = cor;
        c.fillRect(x,y,altura,largura);
        c.strokeStlye = "black";
        c.strokeRect(x,y,altura,largura);

    }



    for(var x = 0; x < 600; x = x + largura){
        for(var y = 0; y < 600; y = y + altura){
        fazQuadrado(x,y,altura,largura);
            }
    }




    </script>









</html>
10 respostas

Onde tem <600 vc vai usar <qntQuadrado

eu tentei isso, mas não importa a quantidade que eu digite, ele só faz 1 quadrado

Sua função fazQuadrado recebe 3 argumentos, mas no loop vc passa 4 argumentos.. Tenta ajeitar isso, prestando atenção nos parâmetros e aí verifica se funciona.

analisei o código e ainda assim não consegui entender :( Eu tenho que ter a mesma quantidade de argumentos na função e na chamada dela?

Sim.. se a função recebe 3, vc passa os mesmos 3 :).

o código ficou assim

var fazQuadrado = function(qntQuadrado,x,y){
        var tela = document.getElementById("tela");


        var c = tela.getContext("2d");

        c.fillStyle = cor;
        c.fillRect(x,y,altura,largura);
        c.strokeStlye = "black";
        c.strokeRect(x,y,altura,largura);

    }



    for(var x = 0; x < qntQuadrado; x = x + largura){
        for(var y = 0; y < qntQuadrado; y = y + altura){
        fazQuadrado(qntQuadrado,x,y);
            }
    }

mas ele continua imprimindo a quantidade errada, eu consigo fazer ele imprimir 4 quadrados, mas só se eu entrar com o valor 100 na hora que pergunta quantos quero criar.

Meu amigo, se vc esta fazendo um quadrado não precisa configurar altura, largura porque os valores são iguais!

O "quadrado" é mais simbólico, quero poder escolher suas medidas, assim como está sendo mostrado nas aulas. Acredito também que isso não tenha relação com o problema em que estou com dúvida

O número de quadrados vai depender do largura e altura que vc ta entrando... Já que vc incrementa em função disso.

É, não consigo encontrar a solução, outra hora volto a mexer com esse código. Agradeço as respostas :)