
Agustin Alonso Berzosa
PreguntaHola alguien sabe como puede hacer que no se solapen la vaca y el cerdo?, este es mi codigo:
var vp = document.getElementById(“villaplatzi”);
var papel = vp.getContext(“2d”);
//var mapa = “tile.png”; se sustituye por fondo.url
var fondo = {
url: “tile.png”,
cargaOk: false
}
var vaca = {
url: “vaca.png”,
cargaOk: false
};
var cerdo = {
url: “cerdo.png”,
cargaOk: false
};
var cantidad = aleatorio(5, 25);
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);
cerdo.imagen = new Image();
cerdo.imagen.src = cerdo.url;
cerdo.imagen.addEventListener(“load”, cargarCerdos);
var pollo = new Image();
pollo.src = “pollo.png”;
pollo.addEventListener(“load”, cargarPollos);
function cargarFondo()
{
fondo.cargaOk = true;
dibujar();
}
function cargarVacas()
{
vaca.cargaOk = true;
dibujar();
}
function cargarCerdos()
{
cerdo.cargaOk = true;
dibujar();
}
function dibujar()
{
if (fondo.cargaOk)//se puede omitir se supone que lo que hay entre parentesis tiene que ser verdadero == true) //si esta cargado el fondo se dibuja
{
papel.drawImage(fondo.imagen, 0, 0);
}
if(vaca.cargaOk)
{
console.log(cantidad);
for (var v=0; v < cantidad; v++)
{
var x = aleatorio(0, 7);
var y = aleatorio(0, 7);
var x = x * 60;
var y = y * 60;
papel.drawImage(vaca.imagen, x, y);
}
}
if(cerdo.cargaOk)
{
for (var c=0; c < cantidad; c++)
{
var x = aleatorio(0, 8);
var y = aleatorio(0, 8);
var x = x * 80;
var y = y * 80;
papel.drawImage(cerdo.imagen, x, y);
}
}
}
function dibujarVacas()
{
papel.drawImage(vaca, 10, 10);
}
function dibujarCerdos()
{
papel.drawImage(cerdo, 10, 200);
}
function dibujarPollos()
{
papel.drawImage(pollo, 200, 150);
}
function aleatorio(min, maxi)
{
var resultado;
resultado = Math.floor(Math.random() * (maxi - min + 1)) + min;
return resultado;
}

Carlos Fernando Rojas Barja
Hay varias maneras de evitar que se solapen, una podria ser guardar las posiciones de las vacas, cerdos y pollitos, para luego de guardarlas al momento de insertar una vaca o cerdo o pollo, ver si esa posicion(O cercanas) esta ocupada