hola amigos, alguien me podria decir la logica o un ejemplo donde al momento de tocar un bloque, se destruyan todos los del mismo color, que esten adjacentes entre si, les pongo una imagen como ejemplo: al pulsar cualquier bloque azul, se deben de destruir todos ( son los bloques que en la imagen aparecen dentro del contorno rojo)
los bloques son el mismo objeto? o cada color responde a un objeto diferente?
los bloques son instancias de un mismo objeto, cada color es un image_index diferente del sprite
puedes hacer un chequeo de quien acompaña al objeto bloque, en 4 direcciones, verificando su image_index...
script : destruir_igual()
var izquierda = instance_place(x-1,y,obj_bloque)
var derecha = instance_place(x+1,y,obj_bloque)
var arriba = instance_place(x,y-1,obj_bloque)
var abajo = instance_place(x,y+1,obj_bloque)
if (izquierda != noone) and (izquierda.image_index == image_index)
with (izquierda) {destruir_igual()}
if (derecha != noone) and (derecha.image_index == image_index)
with (derecha) {destruir_igual()}
if (arriba != noone) and (arriba.image_index == image_index)
with (arriba) {destruir_igual()}
if (abajo != noone) and (abajo.image_index == image_index)
with (abajo) {destruir_igual()}
instance_destroy()
eso es lo que se me ocurre por ahora... saludos!
Revisa este post http://www.comunidadgm.org/preguntas-y-respuestas/juego-tipo-candy-o-diamantes/msg99590/#msg99590 (http://www.comunidadgm.org/preguntas-y-respuestas/juego-tipo-candy-o-diamantes/msg99590/#msg99590)
Esto puede darte ideas: http://www.inventati.org/estupidezartificial/web/papers/linea.html (http://www.inventati.org/estupidezartificial/web/papers/linea.html)