Alessandro Esteban Cardenas
PreguntaHOLA!, puede hacer que se mueva el cerdo, pero solo me dibuja 1 pollo y una vaca. ¿Alguien sabe como podría hacer para que me dibuje una cantidad aleatoria de vacas y pollos,pero que se mantengan en su lugar?. Se que hay códigos de compañeros que lo lograron, pero quiero averiguar si hay alguna forma de hacerlo pero SIN USAR arrays. Gracias.
var village = document.getElementById("villaAnimales"); var papel = village.getContext("2d"); var fondo = { url: "tile.png", cargaOk: false }; var vaca = { url: "vaca.png", cargaOk: false }; var cerdo = { url: "cerdo.png", cargaOk: false, movimiento: false }; var pollo = { url: "pollo.png", cargaOk: false }; fondo.imagen = new Image(); fondo.imagen.src = fondo.url; fondo.imagen.addEventListener("load", cargarFondo); vaca.imagen = new Image(); vaca.imagen.src = vaca.url; vaca.imagen.addEventListener("load", cargarVacas); var teclas = { arriba: 87, derecha: 68, abajo: 83, izquierda: 65 }; pollo.imagen = new Image(); pollo.imagen.src = pollo.url; pollo.imagen.addEventListener("load", cargarPollos); cerdo.imagen = new Image(); cerdo.imagen.src = cerdo.url; cerdo.imagen.addEventListener("load", cargarCerdos); function cargarVacas() { vaca.cargaOk = true; dibujar(); } function cargarPollos() { pollo.cargaOk = true; dibujar(); } function cargarFondo() { fondo.cargaOk = true; dibujar(); } function cargarCerdos() { cerdo.cargaOk = true; dibujar(); } var cantidadVacas = numeroAleatorio(0, 6); var cantidadPollos = numeroAleatorio(0, 6); console.log(cantidadVacas); console.log(cantidadPollos); document.addEventListener("keydown", moverCerdo) var xCerdo = numeroAleatorio(0, 420); var yCerdo = numeroAleatorio(0, 420); var xPollo = numeroAleatorio(0, 120); xPollo = xPollo * 3; var yPollo = numeroAleatorio(0, 120); yPollo = yPollo * 3; var xvaca = numeroAleatorio(0, 120); xvaca = xvaca * 3; var yvaca = numeroAleatorio(0, 120); yvaca = yvaca * 3; function dibujar() { if (fondo.cargaOk) { papel.drawImage(fondo.imagen, 0, 0); } if (vaca.cargaOk) { for (cv = 0; cv < vaca.cantidad; cv++) { papel.drawImage(vaca.imagen, xvaca, yvaca); } } if (cerdo.cargaOk) { papel.drawImage(cerdo.imagen, xCerdo, yCerdo); } if (pollo.cargaOk) { for (cp = 0; cp < cantidadPollos; cp++) { papel.drawImage(pollo.imagen, xPollo, yPollo); papel.drawImage(vaca.imagen, xvaca, yvaca); } } } var movimiento = 9; function moverCerdo(evento) { console.log(evento.keyCode) if (evento.keyCode == teclas.abajo) { dibujar(); papel.drawImage(cerdo.imagen, xCerdo, yCerdo); yCerdo = yCerdo + movimiento; if(yCerdo >= 450){ alert("te estas yendo bro"); yCerdo = yCerdo-15; } } if (evento.keyCode == teclas.arriba) { dibujar(); papel.drawImage(cerdo.imagen, xCerdo, yCerdo); yCerdo = yCerdo - movimiento; if(yCerdo <= -30){ alert("te estas yendo bro"); yCerdo = yCerdo+30; } } if (evento.keyCode == teclas.derecha) { dibujar(); papel.drawImage(cerdo.imagen, xCerdo, yCerdo); xCerdo = xCerdo + movimiento; if(xCerdo >= 440){ alert("te estas yendo bro"); xCerdo = xCerdo-25; } } if (evento.keyCode == teclas.izquierda) { dibujar(); papel.drawImage(cerdo.imagen, xCerdo, yCerdo); xCerdo = xCerdo - movimiento; if(xCerdo <= -15){ alert("te estas yendo bro"); xCerdo = xCerdo+15; } } } function numeroAleatorio(maximo, minimo) { var resultado; resultado = Math.floor(Math.random() * (maximo - minimo + 1)) + minimo; return resultado }