Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

Ejercicio Flor

Envío mi código .. alguien que me ayude a descubrir por que no dibuja los círculos negro y azul.

<canvas width="600" height="400">

</canvas>

<script>

    var pantalla = document.querySelector("canvas");
    var pincel = pantalla.getContext("2d");
    pincel.fillStyle = "lightgray";
    pincel.fillRect(0, 0, 600, 400);

    var ubicacionx = prompt("Ingrese la ubicación horizontal: ");
    var ubicaciony = prompt("Ingrese la ubicación vertical: ");
    var radio = prompt("Ingrese el radio del circulo: ");
    var distancia = 2 * radio

    function dibujarCirculo(ubicacionx, ubicaciony, radio, color) {
        pincel.fillStyle = color;
        pincel.beginPath();
        pincel.arc(ubicacionx,ubicaciony,radio,0,2*3.14159);
        pincel.fill();
    }


    function dibujar5Circulos() {
        dibujarCirculo(ubicacionx,ubicaciony-distancia,radio,"yellow");
        dibujarCirculo(ubicacionx,ubicaciony,radio,"red");
        dibujarCirculo(ubicacionx,ubicaciony+distancia,radio,"blue");
        dibujarCirculo(ubicacionx-distancia,ubicaciony,radio,"orange");        
        dibujarCirculo(ubicacionx+distancia,ubicaciony,radio,"black");
    }

    dibujar5Circulos();


</script>
3 respuestas

fijate bien que aparecen. acabo de probar tu codigo. solo que aparecen muuuy lejos del centro.

solución!

Buen día, se esta concatenando ubicacionx o ubicaciony con distancia, puedes poner la función parseInt, con eso serán enteros y no se concatenaran.

<canvas width="600" height="400">
</canvas>
<script>
    var pantalla = document.querySelector("canvas");
    var pincel = pantalla.getContext("2d");
    pincel.fillStyle = "lightgray";
    pincel.fillRect(0, 0, 600, 400);

    var ubicacionx = parseInt(prompt("Ingrese la ubicación horizontal: "));
    var ubicaciony = parseInt(prompt("Ingrese la ubicación vertical: "));
    var radio = parseInt(prompt("Ingrese el radio del circulo: "));
    var distancia = 2 * radio

    function dibujarCirculo(ubicacionx, ubicaciony, radio, color) {
        pincel.fillStyle = color;
        pincel.beginPath();
        pincel.arc(ubicacionx, ubicaciony, radio, 0, 2 * 3.14159);
        pincel.fill();
    }
    function dibujar5Circulos() {
        dibujarCirculo(ubicacionx, ubicaciony - distancia, radio, "yellow");
        dibujarCirculo(ubicacionx, ubicaciony, radio, "red");
        dibujarCirculo(ubicacionx, ubicaciony + distancia, radio, "blue");
        dibujarCirculo(ubicacionx - distancia, ubicaciony, radio, "orange");
        dibujarCirculo(ubicacionx + distancia, ubicaciony, radio, "black");
    }
    dibujar5Circulos();
</script>

dejo mi codigo por si es de ayuda