Hola alguien sabe como puede hacer que no se solapen la vaca y el cerdo?, este es mi codigo: var vp = document.getElementById(“villaplatz...

Agustin Alonso Berzosa

Agustin Alonso Berzosa

Pregunta
student
hace 6 años

Hola 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;

}

1 respuestas
para escribir tu comentario
    Carlos Fernando Rojas Barja

    Carlos Fernando Rojas Barja

    student
    hace 6 años

    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

Curso Gratis de Programación Básica

Curso Gratis de Programación Básica

Programa desde cero, domina Javascript, entiende HTML y aprende de algoritmos. <strong>Sí, desde cero</strong>. Entenderás la lógica del código, cómo piensan los programadores y cómo programar juegos, proyectos y hasta robots y electrónica. Aprender a programar no es fácil, pero Platzi lo hace efectivo.

Curso Gratis de Programación Básica
Curso Gratis de Programación Básica

Curso Gratis de Programación Básica

Programa desde cero, domina Javascript, entiende HTML y aprende de algoritmos. <strong>Sí, desde cero</strong>. Entenderás la lógica del código, cómo piensan los programadores y cómo programar juegos, proyectos y hasta robots y electrónica. Aprender a programar no es fácil, pero Platzi lo hace efectivo.