Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Strod en Octubre 14, 2013, 07:11:05 PM

Título: ¿Cómo quitar la selección de celdas?
Publicado por: Strod en Octubre 14, 2013, 07:11:05 PM
Buenas, Tengo un tablero con celdas y al seleccionar una de ellas con el mouse las que la rodean se seleccionan (lo muestro de momento con un parpadeo), el caso es que cuando quito la selección de esa celda siguen parpadeando  y lo que quiero es que solo parpadeen las celdas que están alrededor de la celda seleccionada.

Les dejo el ejemplo en un .gmk , si alguien puede echarle un vistazo y sabe como hacer lo que pido, le agradecería que me dijese cómo.

https://mega.co.nz/#!oAIDkJCb!XEcQ_gdcGdycXrTFWBmmKk9qye8WjI99jPFbQmMAP8Q
Título: Re:¿Cómo quitar la selección de celdas?
Publicado por: Mgbu en Octubre 14, 2013, 09:15:20 PM
Ya encontré la forma, el problema estaba en que uno nunca "frenaba" a las celdas que habían comenzado a titilar y que debían parar de titilar
Eso se puede arreglar modificando de esta forma al código step de obj_senal:
[gml]if (selection == noone)
    {
        visible = false;
    }
    else
    {   // la vble. 'selection' cambia desde el evento mouse 'left Pressed' del obj_baldosa.
        // coge la id del objeto sobre el que posicionamos el mouse.
        x = selection.x;
        y = selection.y;
        visible = true;
        // lo siguiente sirve para dectectar casillas contiguas a la seleccionada, le ponemos que corran las
        // imagenes (image_speed = 1) para que se note que son seleccionables.
        {
           if (iden1 != noone)
           { iden1.image_speed = 0; }
           if (iden2 != noone)
           { iden2.image_speed = 0; }
           if (iden3 != noone)
           { iden3.image_speed = 0; }
           if (iden4 != noone)
           { iden4.image_speed = 0; }
        }
        iden1 = instance_position(x+50,y,obj_baldosa);
        iden2 = instance_position(x-50,y,obj_baldosa);
        iden3 = instance_position(x,y+50,obj_baldosa);
        iden4 = instance_position(x,y-50,obj_baldosa);
        {
           if (iden1 != noone)
           { iden1.image_speed = 1; }
           if (iden2 != noone)
           { iden2.image_speed = 1; }
           if (iden3 != noone)
           { iden3.image_speed = 1; }
           if (iden4 != noone)
           { iden4.image_speed = 1; }
        }
    }[/gml]
Como ves, lo que hago es frenar a las celdas iden (iden1, iden2, etc), luego actualizo las celdas iden, y por último hago titilar a las nuevas celdas iden
Para que funcione vas a tener que declarar las variables iden en el create del objeto obj_senal de esta forma:
[gml]// esta vble. nos dice si una casilla está seleccionada
selection = noone;
iden1 = noone;
iden2 = noone;
iden3 = noone;
iden4 = noone;
[/gml]

Así lo que vos pedís se arregla, pero si te fijas las celdas a veces quedan con la imagen "que titila", o sea que a veces las celdas se van a quedar iluminadas, y no van a volver a la imagen original. La solución es que además de frenar a las celdas iden le cambiemos la imagen por la original con iden.image_index = 0
Ahora el evento step queda así:
[gml]if (selection == noone)
    {
        visible = false;
    }
    else
    {   // la vble. 'selection' cambia desde el evento mouse 'left Pressed' del obj_baldosa.
        // coge la id del objeto sobre el que posicionamos el mouse.
        x = selection.x;
        y = selection.y;
        visible = true;
        // lo siguiente sirve para dectectar casillas contiguas a la seleccionada, le ponemos que corran las
        // imagenes (image_speed = 1) para que se note que son seleccionables.
        {
           if (iden1 != noone)
           { iden1.image_speed = 0; iden1.image_index = 0 }
           if (iden2 != noone)
           { iden2.image_speed = 0; iden2.image_index = 0 }
           if (iden3 != noone)
           { iden3.image_speed = 0; iden3.image_index = 0 }
           if (iden4 != noone)
           { iden4.image_speed = 0; iden4.image_index = 0 }
        }
        iden1 = instance_position(x+50,y,obj_baldosa);
        iden2 = instance_position(x-50,y,obj_baldosa);
        iden3 = instance_position(x,y+50,obj_baldosa);
        iden4 = instance_position(x,y-50,obj_baldosa);
        {
           if (iden1 != noone)
           { iden1.image_speed = 1; }
           if (iden2 != noone)
           { iden2.image_speed = 1; }
           if (iden3 != noone)
           { iden3.image_speed = 1; }
           if (iden4 != noone)
           { iden4.image_speed = 1; }
        }
    }[/gml]
El problema es que este código se ejecuta constantemente porque está en el evento step haciendo que las celdas nunca titilen, y solo es necesario ejecutarlo al seleccionar una nueva celda iden.

Esto puede hacer con un User Event
O sea, creamos un evento, que sólo será ejecutado cuando nosotros queramos, en nuestro caso, cuando hacemos click
Entonces hacemos click derecho al evento step, ponemos Change Event y elegimos Other>User Defined>User 0
Y después tenemos que ejecutar ese evento cuando queremos, entonces en el Left Pressed del obj_baldosa agregué with obj_senal event_perform(ev_other, ev_user0), quedando así:
[gml]  // aqui vemos si aparece la 'equis' cuando seleccionamos una casilla con el ratón.
  if (obj_senal.selection = noone)
    { obj_senal.selection = id }
    else
    // este 'if' comprueba si hay una casilla ya seleccionada y si es distinta a la nueva que seleccionamos
    // hacemos esto para que no haya que 'deseleccionar una casilla' si queremos pasar a otra.
    if ( (obj_senal.selection != noone) and (instance_position(x,y,obj_baldosa) != obj_senal.selection) )
       { obj_senal.selection = id }
       else
       { obj_senal.selection = noone }
with obj_senal event_perform(ev_other, ev_user0)[/gml]

Esta fue la respuesta larga, para que entiendas qué hice, la respuesta corta es que descargues tu ejemplo modificado que adjunté
Creo que había fromas mejores de hacer lo que pedís pero lo hice así para modificar lo menso que pueda tu código
Título: Re:¿Cómo quitar la selección de celdas?
Publicado por: Strod en Octubre 15, 2013, 10:08:19 AM
Muchas gracias Mgbu, llevaba dos tardes dándole vueltas y no había manera. Pues resulta más complicado de lo que imaginaba en un principio, me está costando horrores entender el funcionamiento interno del programa.

Otra cosa, eso que comentas de que se puede hacer de otros modos, a modo didáctico ¿Me los podías comentar así por encima?, sin extenderte, simplemente es por aprendizaje y curiosidad, pero sólo si no te supone un gasto sensible de tiempo.

De nuevo, muchas gracias.
Título: Re:¿Cómo quitar la selección de celdas?
Publicado por: Mgbu en Octubre 15, 2013, 06:56:37 PM
Yo lo hubiera comenzado a hacer con arrays (http://www.comunidadgm.org/manual_GM/Arrays.htm). Porque en programación lo más cecano a una tabla que hay creo que es un array bidimensional. No se bien si conoces un array, pero es simplemente una lista de variables
Obviamente a lo tuyo dejalo como está, es mejor que lo hagas de una forma que entiendas bien, pero esta me gusta más, porque lo que uno haga es independiente de lo que se ve en pantalla, entonces si uno cambia el estilo del juego no hay que tocar nada, solo hay que cambiar cómo se dibuja

En un array se pueden guardar numeros, strings, o lo que sea en distintos indices o lugares. Para usarlos se escribe el nombre del array y entre corchetes el índice. Por ejemplo:
arrayNombres[0] = "Martin"
arrayNombres[1] = "Pedro"
arrayNombres[2] = "Lucas"


Lo interesante es que se pueden hacer arrays bidimensionales, que son lo mismo que las listas. En vez de tener un indice tiene dos. Entonces por ejemplo:
array[0,0] = "Martin"
array[0,1] = "Pedro"
array[0,2] = "Lucas"
array[1,0] = "36 años"
array[1,1] = "67 años"
array[1,2] = "13 años"

Eso sería una tabla en donde hay nombres, y en la columna de al lado edades. Entonces si uno quiere, el primer indice puede indicar la columna y el segundo la fila como hice mas arriba

Entonces yo habria hecho un array bidimensional que guarde el color de cada celda. Y después para mostrarlo en la pantalla se viene lo dificil. Porque uno tiene que dibujar sprites dependiendo de lo que dice la tabla
Te adjunté un ejemplo. Ahí yo en vez de hacerlos titilar les dibujo un recuadro verde, pero ponele el efect que quieras

Como vas a ver no fue mas facil. Pero me parece que de esta forma queda todo mas ordenado, es depende de como te guste y de qué vas a hacer con la tabla
Título: Re:¿Cómo quitar la selección de celdas?
Publicado por: Strod en Octubre 16, 2013, 12:08:36 AM
Hola, primero de todo agradecerte las molestias que te has tomado en contestarme y en hacer un nuevo ejemplo.

Los arrays sí que los he visto en varios sitios mientras iba estudiando sobre programación en GM, pero nunca los he aplicado y sinceramente mientras pensaba como hacer mi tablero ni caí en ellos, después de haber visto tu programa con arrays casi mejor así porque de haber empezado con arrays no habría hecho nada, para hacerlo como tú hace falta un nivel que no tengo.

Pero me parece muy interesante (y más profesional) tu enfoque, así que mañana me pondré a estudiarlo para aprender de él.

Saludos y muchas gracias por tu tiempo.

Título: Re:¿Cómo quitar la selección de celdas?
Publicado por: onixander en Octubre 16, 2013, 12:38:05 AM
Tambien estan las grids, que tienen un manojo de funciones para su control.

Citards_grid_create(w,h) Creates a new grid with the indicated width and height. The function returns an integer as an id that must be used in all other functions to access the particular grid.
ds_grid_destroy(id) Destroys the grid with the given id, freeing the memory used. Don't forget to call this function when you are ready with the structure.
ds_grid_copy(id,source) Copies the grid source into the grid with the given id.
ds_grid_resize(id,w,h) Resizes the grid to the new width and height. Existing cells keep their original value.
ds_grid_width(id) Returns the width of the grid with the indicated id.
ds_grid_height(id) Returns the height of the grid with the indicated id.
ds_grid_clear(id,val) Clears the grid with the given id, to the indicated value (can both be a number or a string).
ds_grid_set(id,x,y,val) Sets the indicated cell in the grid with the given id, to the indicated value (can both be a number or a string).
ds_grid_add(id,x,y,val) Add the value to the indicated cell in the grid with the given id. For strings this corresponds to concatenation.
ds_grid_multiply(id,x,y,val) Multiplies the value to the indicated cell in the grid with the given id. Is only valid for numbers.
ds_grid_set_region(id,x1,y1,x2,y2,val) Sets the all cells in the region in the grid with the given id, to the indicated value (can both be a number or a string).
ds_grid_add_region(id,x1,y1,x2,y2,val) Add the value to the cell in the region in the grid with the given id. For strings this corresponds to concatenation.
ds_grid_multiply_region(id,x1,y1,x2,y2,val) Multiplies the value to the cells in the region in the grid with the given id. Is only valid for numbers.
ds_grid_set_disk(id,xm,ym,r,val) Sets all cells in the disk with center (xm,ym) and radius r.
ds_grid_add_disk(id,xm,ym,r,val) Add the value to all cells in the disk with center (xm,ym) and radius r.
ds_grid_multiply_disk(id,xm,ym,r,val) Multiply the value to all cells in the disk with center (xm,ym) and radius r.
ds_grid_set_grid_region(id,source,x1,y1,x2,y2,xpos,ypos) Copies the contents of the cells in the region in grid source to grid id. xpos and ypos indicate the place where the region must be placed in the grid. (Can also be used to copy values from one place in a grid to another.)
ds_grid_add_grid_region(id,source,x1,y1,x2,y2,xpos,ypos) Adds the contents of the cells in the region in grid source to grid id. xpos and ypos indicate the place where the region must be added in the grid. (id and source can be the same.)
ds_grid_multiply_grid_region(id,source,x1,y1,x2,y2,xpos,ypos) Multiplies the contents of the cells in the region in grid source to grid id. xpos and ypos indicate the place where the region must be multiplied in the grid. (id and source can be the same.) Only valid for numbers.
ds_grid_get(id,x,y) Returns the value of the indicated cell in the grid with the given id.
ds_grid_get_sum(id,x1,y1,x2,y2) Returns the sum of the values of the cells in the region in the grid with the given id. Does only work when the cells contain numbers.
ds_grid_get_max(id,x1,y1,x2,y2) Returns the maximum of the values of the cells in the region in the grid with the given id. Does only work when the cells contain numbers.
ds_grid_get_min(id,x1,y1,x2,y2) Returns the minimum of the values of the cells in the region in the grid with the given id. Does only work when the cells contain numbers.
ds_grid_get_mean(id,x1,y1,x2,y2) Returns the mean of the values of the cells in the region in the grid with the given id. Does only work when the cells contain numbers.
ds_grid_get_disk_sum(id,xm,ym,r) Returns the sum of the values of the cells in the disk.
ds_grid_get_disk_min(id,xm,ym,r) Returns the min of the values of the cells in the disk.
ds_grid_get_disk_max(id,xm,ym,r) Returns the max of the values of the cells in the disk.
ds_grid_get_disk_mean(id,xm,ym,r) Returns the mean of the values of the cells in the disk.
ds_grid_value_exists(id,x1,y1,x2,y2,val) Returns whether the value appears somewhere in the region.
ds_grid_value_x(id,x1,y1,x2,y2,val) Returns the x-coordinate of the cell in which the value appears in the region.
ds_grid_value_y(id,x1,y1,x2,y2,val) Returns the y-coordinate of the cell in which the value appears in the region.
ds_grid_value_disk_exists(id,xm,ym,r,val) Returns whether the value appears somewhere in the disk.
ds_grid_value_disk_x(id,xm,ym,r,val) Returns the x-coordinate of the cell in which the value appears in the disk.
ds_grid_value_disk_y(id,xm,ym,r,val) Returns the y-coordinate of the cell in which the value appears in the disk.
ds_grid_shuffle(id) Shuffles the values in the grid such that they end up in a random order.
ds_grid_write(id) Turns the data structure into a string and returns this string. The string can then be used to e.g. save it to a file. This provides an easy mechanism for saving data structures.
ds_grid_read(id,str) Reads the data structure from the given string (as created by the previous call).

basicamente, es como te decia Mgbu, un array dentro de otro array! :)
Título: Re:¿Cómo quitar la selección de celdas?
Publicado por: Mgbu en Octubre 16, 2013, 01:30:59 AM
Cita de: Strod en Octubre 16, 2013, 12:08:36 AM
Hola, primero de todo agradecerte las molestias que te has tomado en contestarme y en hacer un nuevo ejemplo.

Los arrays sí que los he visto en varios sitios mientras iba estudiando sobre programación en GM, pero nunca los he aplicado y sinceramente mientras pensaba como hacer mi tablero ni caí en ellos, después de haber visto tu programa con arrays casi mejor así porque de haber empezado con arrays no habría hecho nada, para hacerlo como tú hace falta un nivel que no tengo.

Pero me parece muy interesante (y más profesional) tu enfoque, así que mañana me pondré a estudiarlo para aprender de él.

Saludos y muchas gracias por tu tiempo.
Si, a lo mejor es mas dificil. Pero mientras vas practicando vas a ver que no es tan dificil. Hace un año ni pensé en que algún iba a escribir GML, ahora pienso que nunca mas voy a usar D&D
Cualquier cosa pregunta si no entendes algo, a lo mejor lo confuso son las cuentas que hice en algunos lados

Tambien podés usar las listas que mencionó onixander, no me había acordado de que existian
Título: Re:¿Cómo quitar la selección de celdas?
Publicado por: Strod en Octubre 16, 2013, 06:17:00 PM
Hola,

He estado mirando con detenimiento el programa con arrays de Mgbu y la verdad es algo que ahora mismo se escapa a mis conocimientos, lo guardaré a buen recaudo para entenderlo y aprender bien de él cuando tenga más práctica con GML, así como las funciones que ha puesto onixander que parecen muy interesantes cuando se trabaja con arrays.

Creo que es mejor ir poco a poco porque si quiero abarcar demasiado al principio me puedo saturar y dejarlo abandonado, os agradezco a ambos vuestras aportaciones.

Saludos.

Título: Re:¿Cómo quitar la selección de celdas?
Publicado por: onixander en Octubre 16, 2013, 10:50:53 PM
Mira, mi forma de aprender siempre fue, quiero hacer esto... ok que necesito... esto, aquello, lo otro... y voy cosa por cosa, buscando soluciones... así empece a aprender lenguaje C, pero orientado a microcontroladores... lo mismo hice con GML... Pero si vos pensas que te podes llegar a agobiar, entonces si intenta apuntar un poco mas bajo.

si este tema de los array es la base de tu juego, te puedo dar una mano a entenderlas y poder usar grillas, no te bajes de un proyecto al primer obstáculo :)!

Ya sabes, cualquier cosa, pega un chiflido y se te da una mano! :)
Título: Re:¿Cómo quitar la selección de celdas?
Publicado por: Strod en Octubre 20, 2013, 12:29:19 PM
Hola de nuevo señores,

Desde el último momento que hablé con ustedes he intentado seguir con mi programa con resultados infructuosos.

Cómo les dije lo que quería era que en una pantalla con cuadrados al seleccionar uno los de alrededor parpadeasen para mostrarse seleccionables.

Ahora lo que he intentado desde entonces es que cuando clickeé con el mouse sobre uno de estos cuadros parpadeantes, el cuadro parpadeante dejase de parpadear y cambiase de color (a la segunda imagen del sprite).

El modo que he pensado para hacer esto es usar arrays como me dijeron para guardar los valores de las instancias de estos cuadros, pero el problema viene que me da un error que no entiendo al iniciar el programa y yo creo que tengo la variable bien declarada, les dejo el programa a ver si pueden decirme porqué me da ese error.

https://mega.co.nz/#!ctkQTI6Z!UAuYzSZS7BcKZdZe56e-MU3U2ZxN8GaXbk7yYedQ7qg

Saludos.



He seguido y lo que no tengo ni idea de como enfocar es lo siguiente:
Cuando está señalada una casilla y las de alrededor están parpadeando si entonces le doy con el mouse a la parpadeante que hay a la derecha de la 'equis', quiero que:
-La parpadeante que doy con el mouse pare de parpadear y cambie de color.
-el resto dejen de parpadear
-desaparezca la 'equis'.
Si sabéis como enfocarlo, please decidmelo.

Saludos.

Título: Re:¿Cómo quitar la selección de celdas?
Publicado por: Mgbu en Octubre 23, 2013, 02:10:57 AM
Cita de: Strod en Octubre 20, 2013, 12:29:19 PM
Hola de nuevo señores,

Desde el último momento que hablé con ustedes he intentado seguir con mi programa con resultados infructuosos.

Cómo les dije lo que quería era que en una pantalla con cuadrados al seleccionar uno los de alrededor parpadeasen para mostrarse seleccionables.

Ahora lo que he intentado desde entonces es que cuando clickeé con el mouse sobre uno de estos cuadros parpadeantes, el cuadro parpadeante dejase de parpadear y cambiase de color (a la segunda imagen del sprite).

El modo que he pensado para hacer esto es usar arrays como me dijeron para guardar los valores de las instancias de estos cuadros, pero el problema viene que me da un error que no entiendo al iniciar el programa y yo creo que tengo la variable bien declarada, les dejo el programa a ver si pueden decirme porqué me da ese error.

https://mega.co.nz/#!ctkQTI6Z!UAuYzSZS7BcKZdZe56e-MU3U2ZxN8GaXbk7yYedQ7qg

Saludos.



He seguido y lo que no tengo ni idea de como enfocar es lo siguiente:
Cuando está señalada una casilla y las de alrededor están parpadeando si entonces le doy con el mouse a la parpadeante que hay a la derecha de la 'equis', quiero que:
-La parpadeante que doy con el mouse pare de parpadear y cambie de color.
-el resto dejen de parpadear
-desaparezca la 'equis'.
Si sabéis como enfocarlo, please decidmelo.

Saludos.
Perdon por tardar, no estoy teniendo mucho tiempo

Por lo que veo, en el create de la baldosa estas intentando leer una variable declarada en el create del obj_senal. Si el obj_denal se crea antes que la baldosa esta todo bien, ¿Pero que pasa si la baldosa se crea antes qe el obj_senal? Va a estar buscando la variable del obj_senal que todavia no existe, por eso el error

Pero igual todavia no entiendo bien para qué la baldosa debe guardar los iden, con que los iden sean guardados por el obj_senal ya esta bien. Pero no se, espera a que mañana o pasado lo vea bien, te aviso por mensaje privado
Título: Re:¿Cómo quitar la selección de celdas?
Publicado por: Strod en Octubre 23, 2013, 12:27:47 PM
Hola Mgbu, te agradezco enormemente tu interés, no tengas prisa tu míralo cuando te venga bien, faltaría más. Y bueno ni se te ocurra otra vez pedir perdon que me hace sentir mal  :-[

Yo mientras tanto estoy mirando cosas por distintos sitios por si doy con algo que me lleve a la solución, pero de momento nada.

Respecto a las variables 'iden' en el objeto baldosa, igual ahí no pintan nada, yo las puse probando distintas combinaciones.

Muchas gracias y saludos.
Título: Re:¿Cómo quitar la selección de celdas?
Publicado por: Mgbu en Octubre 23, 2013, 10:30:30 PM
Ahora que lo leo no esta tan facil. O sea, por lo que entiendo:

Primero esta todo comun, nada parpadea, nada esta seleccionado. Digamos que la tabla esta en estado "Inactivo"
Cuando uno hace click a una casilla, esta se marca con una cruz, y a las casillas cercanas se las hace parpadear. Llamemos esto estado "Seleccion"
Luego si uno hace click a una celda inactiva (o sea, que no parpadea) se debe cambiar la cruz de lugar, como ya el programa lo hace, entrando en el estado "Seleccion" nuevamente. Pero si en ese momento uno hace click a una celda parpadeante, la celda cambia de color y la tabla vuelve al estado "Inactivo"

El problema es que ahora uno no solo debe guardar las celdas iden, si no que tambien uno debe recordar las celdas de color cambiado

Lo que yo haría es cambiar un poco el enfoque. Hasta ahora, el programa funciona asi:
Cuando una celda es presionada, esa celda cambia de lugar al obj_senal y le pide que "reaccione" invocando al User Event 0
Cuando una celda le pide que reaccione al obj_senal, obj_senal guarda cuáles son las celdas parpadeantes y las hace parpadear

Yo haría que el programa funcione un poco diferente:
Cuando una celda es presionada, se fija si está parpadeando o no, si está parpadeando cambia de color, si no está parpadeando esa celda cambia de lugar al obj_senal y le pide que "reaccione" invocando al User Event 0
Cuando una celda le pide que reaccione al obj_senal, obj_senal le avisa a cada una de las celdas, diciendoles si son parpadeantes o no. Entonces ahora cada celda sabe si esta parpadeando o no (hasta ahora el único que sabía cuáles eran las celdas parpadeantes era obj_senal)
Por último cada celda se fija su estado (parpadeando, color cambiado o no)

¿Por qué cambio el enfoque de esta manera? Porque me parece más fácil hacerlo así, si seguimos haciendolo como lo hacíamos antes el obj_senal deberá recordar el estado de cada una de las celdas, antes era fácil, ya que todas las celdas estaban inactivas excepto 4 que eran parpadeantes. Pero ahora debemos recordar cada una de las celdas que cambiaron el color. Si lo hacemos a mi manera, cada celda se acuerda de su estado y listo

Decime si te parace bien, asi te hago un ejemplo
Título: Re:¿Cómo quitar la selección de celdas?
Publicado por: Strod en Octubre 24, 2013, 12:23:34 AM
Hola Mgbu,

Cita de: Mgbu en Octubre 23, 2013, 10:30:30 PM
Cuando uno hace click a una casilla, esta se marca con una cruz, y a las casillas cercanas se las hace parpadear. Llamemos esto estado "Seleccion"
Luego si uno hace click a una celda inactiva (o sea, que no parpadea) se debe cambiar la cruz de lugar, como ya el programa lo hace, entrando en el estado "Seleccion" nuevamente. Pero si en ese momento uno hace click a una celda parpadeante, la celda cambia de color y la tabla vuelve al estado "Inactivo"

Eso es, lo que subrayo en negrita es lo que soy incapaz de averiguar como se hace. Menos mal que dices que no es tan fácil de hacer, me hace sentir menos torpe.

Cita de: Mgbu en Octubre 23, 2013, 10:30:30 PMSi lo hacemos a mi manera, cada celda se acuerda de su estado y listo

Perfecto, hazlo a tu manera, el caso es que funcione, ya estudiaré yo tu programa y la forma de hacerlo.

Y bueno como te dije antes, hazlo cuando puedas, me haces un grandísimo favor pero no es nada urgente, estoy aprendiendo y eso va lento.

De nuevo agradecerte enormemente tu atención.

Saludos.
Título: Re:¿Cómo quitar la selección de celdas?
Publicado por: Strod en Octubre 30, 2013, 01:05:05 PM
He pensado en hacerlo guardando distintos valores de una variable y luego recurrir a ellos cuando haga falta,
¿Alguien sabe como se hacer para guardar en un 'sitio' ciertos valores de una variable?

Saludos.
Título: Re:¿Cómo quitar la selección de celdas?
Publicado por: Mgbu en Octubre 31, 2013, 07:21:48 PM
Esta vez me re olvide de este tema :-[

Acá está lo que me pediste, el único problema es que confunden un poco los colores de los sprites, es cosa de poner los que quieras
Título: Re:¿Cómo quitar la selección de celdas?
Publicado por: Strod en Octubre 31, 2013, 07:55:13 PM
Muchísimas gracias Mgbu,

Saludos.